package gregicadditions;

import com.google.common.collect.ImmutableList;
import gregicadditions.materials.*;
import gregicadditions.utils.GALog;
import gregtech.api.unification.Element;
import gregtech.api.unification.material.IMaterialHandler;
import gregtech.api.unification.material.MaterialIconSet;
import gregtech.api.unification.material.type.*;
import gregtech.api.unification.ore.OrePrefix;
import gregtech.api.unification.stack.MaterialStack;
import gregtech.common.pipelike.cable.WireProperties;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

import static com.google.common.collect.ImmutableList.of;
import static gregicadditions.GAEnums.EnumIonsGroups.*;
import static gregtech.api.unification.Element.*;
import static gregtech.api.unification.material.Materials.*;
import static gregtech.api.unification.material.type.DustMaterial.MatFlags.*;
import static gregtech.api.unification.material.type.FluidMaterial.MatFlags.GENERATE_FLUID_BLOCK;
import static gregtech.api.unification.material.type.FluidMaterial.MatFlags.GENERATE_PLASMA;
import static gregtech.api.unification.material.type.GemMaterial.MatFlags.GENERATE_LENSE;
import static gregtech.api.unification.material.type.GemMaterial.MatFlags.HIGH_SIFTER_OUTPUT;
import static gregtech.api.unification.material.type.IngotMaterial.MatFlags.*;
import static gregtech.api.unification.material.type.Material.MatFlags.*;
import static gregtech.api.unification.material.type.SolidMaterial.MatFlags.*;
import static gregtech.api.util.GTUtility.createFlag;

@IMaterialHandler.RegisterMaterialHandler
public class GAMaterials implements IMaterialHandler {

    public static final long DISABLE_REPLICATION = createFlag(47);

    public static final long GENERATE_NUCLEAR_COMPOUND = createFlag(48);
    public static final long GENERATE_ISOTOPES_COMPOUND = createFlag(49);

    public static final long DISABLE_AUTOGENERATED_MIXER_RECIPE = createFlag(50);

    public static final long GENERATE_ROUND = createFlag(51);
    public static final long GENERATE_DOUBLE_PLATE = createFlag(52);

    public static final long GENERATE_METAL_CASING = createFlag(53);


    static {
        Material.MatFlags.registerMaterialFlag("DISABLE_REPLICATION", DISABLE_REPLICATION, IngotMaterial.class);
        Material.MatFlags.registerMaterialFlag("DISABLE_AUTOGENERATED_MIXER_RECIPE", DISABLE_AUTOGENERATED_MIXER_RECIPE, IngotMaterial.class);
        Material.MatFlags.registerMaterialFlag("GENERATE_ROUND", GENERATE_ROUND, IngotMaterial.class);
        Material.MatFlags.registerMaterialFlag("GENERATE_DOUBLE_PLATE", GENERATE_DOUBLE_PLATE, IngotMaterial.class);
        Material.MatFlags.registerMaterialFlag("GENERATE_METAL_CASING", GENERATE_METAL_CASING, IngotMaterial.class);
    }

    public static long STD_METAL = GENERATE_PLATE;
    static long EXT2_METAL = GENERATE_PLATE | GENERATE_DENSE | GENERATE_ROD | GENERATE_BOLT_SCREW | GENERATE_GEAR | GENERATE_FOIL | GENERATE_FINE_WIRE | GENERATE_LONG_ROD | GENERATE_DOUBLE_PLATE;
    static long CORE_METAL = EXT2_METAL | GENERATE_RING | GENERATE_FRAME | GENERATE_ROTOR | GENERATE_SMALL_GEAR | GENERATE_DENSE;


    // NEW ELEMENTS
    public static final IngotMaterial Neutronium = new IngotMaterial(993, "neutronium", 12829635, MaterialIconSet.METALLIC, 6, of(), CORE_METAL | DISABLE_REPLICATION, Element.valueOf("Nt"), 24.0F, 12F, 655360);
    public static final IngotMaterial Ruthenium = new IngotMaterial(883, "ruthenium", 0x646464, MaterialIconSet.METALLIC, 2, of(), EXT2_METAL, Element.Ru, 2607);
    public static final IngotMaterial Rhodium = new IngotMaterial(869, "rhodium", 0xF4F4F4, MaterialIconSet.METALLIC, 2, of(), EXT2_METAL, Element.Rh, 2237);
    public static final IngotMaterial Trinium = new IngotMaterial(719, "trinium", 0x9aa19c, MaterialIconSet.SHINY, 7, of(), CORE_METAL | GENERATE_ORE, Element.valueOf("Ke"), 8600);
    public static final IngotMaterial Adamantium = new IngotMaterial(718, "adamantium", 0x2d365c, MaterialIconSet.SHINY, 7, of(), CORE_METAL, Element.valueOf("Ad"), 10850);
    public static final IngotMaterial Vibranium = new IngotMaterial(717, "vibranium", 0x828aad, MaterialIconSet.SHINY, 7, of(), CORE_METAL, Element.valueOf("Vb"), 11220);
    public static final IngotMaterial Taranium = new IngotMaterial(714, "taranium", 0x0c0c0d, MaterialIconSet.SHINY, 7, of(), CORE_METAL, Element.valueOf("Tn"), 10000);
    public static final IngotMaterial MetastableOganesson = new IngotMaterial(707, "metastable_oganesson", 0xE61C24, MaterialIconSet.SHINY, 7, of(), CORE_METAL, Element.valueOf("Og"), 10380);
    public static final IngotMaterial MetastableFlerovium = new IngotMaterial(706, "metastable_flerovium", 0x521973, MaterialIconSet.SHINY, 7, of(), CORE_METAL, Element.valueOf("Fl"), 10990);
    public static final IngotMaterial MetastableHassium = new IngotMaterial(683,"metastable_hassium",0x2d3a9d,MaterialIconSet.SHINY,6,of(),CORE_METAL,Element.valueOf("Hs"),11240);
    public static final FluidMaterial Xenon = new FluidMaterial(916, "xenon", 0x270095, MaterialIconSet.FLUID, of(), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION, Xe);
    public static final FluidMaterial Neon = new FluidMaterial(915, "neon", 0xFF422A, MaterialIconSet.FLUID, of(), NO_RECYCLING | DISABLE_DECOMPOSITION | GENERATE_PLASMA, Ne);
    public static final FluidMaterial Krypton = new FluidMaterial(914, "krypton", 0x31C42F, MaterialIconSet.FLUID, of(), NO_RECYCLING | GENERATE_PLASMA | DISABLE_DECOMPOSITION, Kr);
    public static final IngotMaterial Zirconium = new IngotMaterial(912, "zirconium", 0xE0E1E1, MaterialIconSet.METALLIC, 6, of(), EXT2_METAL, Zr);
    public static final IngotMaterial Polonium = new IngotMaterial(838, "polonium", 0xC9D47E, MaterialIconSet.DULL, 4, of(), SMELT_INTO_FLUID, Po);
    public static final IngotMaterial Copernicium = new IngotMaterial(837, "copernicium", 0xFFFEFF, MaterialIconSet.DULL, 4, of(), GENERATE_FLUID_BLOCK, Cn);
    public static final RadioactiveMaterial Protactinium = new RadioactiveMaterial(824, "protactinium", 0xA78B6D, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Pa, 0, 0, 0, 0);
    public static final RadioactiveMaterial UraniumRadioactive = new RadioactiveMaterial(822, "uranium_radioactive", Uranium.materialRGB, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_ORE | GENERATE_FRAME, U, 0, 0, 0, 0);
    public static final RadioactiveMaterial Neptunium = new RadioactiveMaterial(818, "neptunium", 0x284D7B, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Np, 0, 0, 0, 0);
    public static final RadioactiveMaterial PlutoniumRadioactive = new RadioactiveMaterial(814, "plutonium_radioactive", Plutonium.materialRGB, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Pu, 0, 0, 0, 0);
    public static final RadioactiveMaterial Curium = new RadioactiveMaterial(807, "curium", 0x7B544E, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Cm, 0, 0, 0, 0);
    public static final RadioactiveMaterial Berkelium = new RadioactiveMaterial(801, "berkelium", 0x645A88, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Bk, 0, 0, 0, 0);
    public static final RadioactiveMaterial Californium = new RadioactiveMaterial(797, "californium", 0xA85A12, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Cf, 0, 0, 0, 0);
    public static final RadioactiveMaterial Einsteinium = new RadioactiveMaterial(791, "einsteinium", 0xCE9F00, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Es, 0, 0, 0, 0);
    public static final RadioactiveMaterial Fermium = new RadioactiveMaterial(786, "fermium", 0x984ACF, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Fm, 0, 0, 0, 0);
    public static final RadioactiveMaterial Mendelevium = new RadioactiveMaterial(780, "mendelevium", 0x1D4ACF, MaterialIconSet.METALLIC, 3, of(), EXT2_METAL | GENERATE_FRAME, Md, 0, 0, 0, 0);
    public static final IngotMaterial Francium = new IngotMaterial(767, "francium", 0xAAAAAA, MaterialIconSet.SHINY, 2, of(), 0, Fr);
    public static final IngotMaterial Radium = new IngotMaterial(766, "radium", 0xFFC840, MaterialIconSet.SHINY, 2, of(), 0, Ra);
    public static final IngotMaterial Actinium = new IngotMaterial(765, "actinium", 0xC3D1FF, MaterialIconSet.SHINY, 2, of(), 0, Ac);
    public static final IngotMaterial Hafnium = new IngotMaterial(764, "hafnium", 0x99999a, MaterialIconSet.SHINY, 2, of(), 0, Hf);
    public static final IngotMaterial Rhenium = new IngotMaterial(763, "rhenium", 0xb6bac3, MaterialIconSet.SHINY, 2, of(), EXT2_METAL, Re);
    public static final IngotMaterial Technetium = new IngotMaterial(762, "technetium", 0x545455, MaterialIconSet.SHINY, 2, of(), 0, Tc);
    public static final IngotMaterial Thallium = new IngotMaterial(761, "thalium", 0xc1c1de, MaterialIconSet.SHINY, 2, of(), GENERATE_FOIL, Tl);
    public static final IngotMaterial Germanium = new IngotMaterial(760, "germanium", 0x434343, MaterialIconSet.SHINY, 2, of(), GENERATE_PLATE, Ge);
    public static final DustMaterial Selenium = new IngotMaterial(759, "selenium", 0xB6BA6B, MaterialIconSet.SHINY, 2, of(), 0, Se);
    public static final FluidMaterial Bromine = new FluidMaterial(758, "bromine", 0xB64D6B, MaterialIconSet.SHINY, of(), 0, Br);
    public static final DustMaterial Iodine = new DustMaterial(757, "iodine", 0x2C344F, MaterialIconSet.SHINY, 2, of(), 0, I);
    public static final IngotMaterial Astatine = new IngotMaterial(756, "astatine", 0x241a24, MaterialIconSet.DULL, 2, of(), 0, At);
    public static final IngotMaterial Rutherfordium = new IngotMaterial(743, "rutherfordium", 0xFFF6A1, MaterialIconSet.SHINY, 7, of(), EXT2_METAL, Rf);
    public static final IngotMaterial Dubnium = new IngotMaterial(742, "dubnium", 0xD3FDFF, MaterialIconSet.SHINY, 7, of(), EXT2_METAL, Db);
    public static final IngotMaterial Seaborgium = new IngotMaterial(736, "seaborgium", 0x19c5ff, MaterialIconSet.SHINY, 7, of(), CORE_METAL | GENERATE_FRAME, Sg);
    public static final IngotMaterial Bohrium = new IngotMaterial(735, "bohrium", 0xdc57ff, MaterialIconSet.SHINY, 7, of(), CORE_METAL | GENERATE_FRAME | GENERATE_ROUND, Bh);
    public static final IngotMaterial Tennessine = new IngotMaterial(681, "tennessine" , 0x977fd6, MaterialIconSet.SHINY, 2, of(), 0, Ts);
    public static final IngotMaterial Livermorium = new IngotMaterial(680, "livermorium" , 0xc7b204, MaterialIconSet.SHINY, 2, of(), 0, Lv);
    public static final IngotMaterial Moscovium = new IngotMaterial(679, "moscovium" , 0x7854ad, MaterialIconSet.SHINY, 2, of(), 0, Mc);
    public static final IngotMaterial Nihonium = new IngotMaterial(678, "nihonium" , 0x08269e, MaterialIconSet.SHINY, 2, of(), 0, Nh);
    public static final IngotMaterial Roentgenium = new IngotMaterial(677, "roentgenium" , 0xe3fdec, MaterialIconSet.SHINY, 2, of(), 0, Rg);
    public static final IngotMaterial Meitnerium = new IngotMaterial(676, "meitnerium" , 0x2246be, MaterialIconSet.SHINY, 2, of(), 0, Mt);

    // ELEMENT IDS: 993, 916, 915, 914, 913, 912, 883, 869, 838, 837, 824, 822, 818, 814, 807, 801, 797, 791, 786, 780, 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, 756, 743, 742, 736, 735, 681, 680, 679, 678, 677, 676



    // NUCLEAR MATERIALS
    // Thorium
    public static final RadioactiveMaterial ThoriumRadioactive = new RadioactiveMaterial(Thorium);
    public static final IsotopeMaterial Thorium232Isotope = new IsotopeMaterial(Thorium, RadioactiveMaterial.REGISTRY.get(Thorium), 232);
    public static final IsotopeMaterial Thorium233 = new IsotopeMaterial(825, RadioactiveMaterial.REGISTRY.get(Thorium), 233, 0);

    // Protactinium
    public static final IsotopeMaterial Protactinium233 = new IsotopeMaterial(823, RadioactiveMaterial.REGISTRY.get(Protactinium.getMaterial()), 233, 0);

    // Uranium
    public static final IsotopeMaterial Uranium238Isotope = new IsotopeMaterial(Uranium, RadioactiveMaterial.REGISTRY.get(UraniumRadioactive.getMaterial()), 238);
    public static final IsotopeMaterial Uranium233 = new IsotopeMaterial(821, RadioactiveMaterial.REGISTRY.get(UraniumRadioactive.getMaterial()), 233, 0);
    public static final IsotopeMaterial Uranium234 = new IsotopeMaterial(820, RadioactiveMaterial.REGISTRY.get(UraniumRadioactive.getMaterial()), 234, 0);
    public static final IsotopeMaterial Uranium235Isotope = new IsotopeMaterial(Uranium235, RadioactiveMaterial.REGISTRY.get(UraniumRadioactive.getMaterial()), 235);
    public static final IsotopeMaterial Uranium239 = new IsotopeMaterial(819, RadioactiveMaterial.REGISTRY.get(UraniumRadioactive.getMaterial()), 239, 0);

    // Neptunium
    public static final IsotopeMaterial Neptunium235 = new IsotopeMaterial(817, RadioactiveMaterial.REGISTRY.get(Neptunium.getMaterial()), 235, 0);
    public static final IsotopeMaterial Neptunium237 = new IsotopeMaterial(816, RadioactiveMaterial.REGISTRY.get(Neptunium.getMaterial()), 237, 0);
    public static final IsotopeMaterial Neptunium239 = new IsotopeMaterial(815, RadioactiveMaterial.REGISTRY.get(Neptunium.getMaterial()), 239, 0);

    // Plutonium
    public static final IsotopeMaterial Plutonium239 = new IsotopeMaterial(813, RadioactiveMaterial.REGISTRY.get(PlutoniumRadioactive.getMaterial()), 239, 0);
    public static final IsotopeMaterial Plutonium240 = new IsotopeMaterial(812, RadioactiveMaterial.REGISTRY.get(PlutoniumRadioactive.getMaterial()), 240, 0);
    public static final IsotopeMaterial Plutonium241Isotope = new IsotopeMaterial(Plutonium241, RadioactiveMaterial.REGISTRY.get(PlutoniumRadioactive.getMaterial()), 241);
    public static final IsotopeMaterial Plutonium244Isotope = new IsotopeMaterial(Plutonium, RadioactiveMaterial.REGISTRY.get(PlutoniumRadioactive.getMaterial()), 244);
    public static final IsotopeMaterial Plutonium245 = new IsotopeMaterial(811, RadioactiveMaterial.REGISTRY.get(PlutoniumRadioactive.getMaterial()), 245, 0);

    // Americium
    public static final RadioactiveMaterial AmericiumRadioactive = new RadioactiveMaterial(Americium);
    public static final IsotopeMaterial Americium241 = new IsotopeMaterial(810, RadioactiveMaterial.REGISTRY.get(Americium), 241, 0);
    public static final IsotopeMaterial Americium243 = new IsotopeMaterial(809, RadioactiveMaterial.REGISTRY.get(Americium), 243, 0);
    public static final IsotopeMaterial Americium245 = new IsotopeMaterial(808, RadioactiveMaterial.REGISTRY.get(Americium), 245, 0);

    // Curium
    public static final IsotopeMaterial Curium245 = new IsotopeMaterial(806, RadioactiveMaterial.REGISTRY.get(Curium.getMaterial()), 245, 0);
    public static final IsotopeMaterial Curium246 = new IsotopeMaterial(805, RadioactiveMaterial.REGISTRY.get(Curium.getMaterial()), 246, 0);
    public static final IsotopeMaterial Curium247 = new IsotopeMaterial(804, RadioactiveMaterial.REGISTRY.get(Curium.getMaterial()), 247, 0);
    public static final IsotopeMaterial Curium250 = new IsotopeMaterial(803, RadioactiveMaterial.REGISTRY.get(Curium.getMaterial()), 250, 0);
    public static final IsotopeMaterial Curium251 = new IsotopeMaterial(802, RadioactiveMaterial.REGISTRY.get(Curium.getMaterial()), 251, 0);

    // Berkelium
    public static final IsotopeMaterial Berkelium247 = new IsotopeMaterial(800, RadioactiveMaterial.REGISTRY.get(Berkelium.getMaterial()), 247, 0);
    public static final IsotopeMaterial Berkelium249 = new IsotopeMaterial(799, RadioactiveMaterial.REGISTRY.get(Berkelium.getMaterial()), 249, 0);
    public static final IsotopeMaterial Berkelium251 = new IsotopeMaterial(798, RadioactiveMaterial.REGISTRY.get(Berkelium.getMaterial()), 251, 0);

    // Californium
    public static final IsotopeMaterial Californium251 = new IsotopeMaterial(796, RadioactiveMaterial.REGISTRY.get(Californium.getMaterial()), 251, 0);
    public static final IsotopeMaterial Californium252 = new IsotopeMaterial(795, RadioactiveMaterial.REGISTRY.get(Californium.getMaterial()), 252, 0);
    public static final IsotopeMaterial Californium253 = new IsotopeMaterial(794, RadioactiveMaterial.REGISTRY.get(Californium.getMaterial()), 253, 0);
    public static final IsotopeMaterial Californium256 = new IsotopeMaterial(793, RadioactiveMaterial.REGISTRY.get(Californium.getMaterial()), 256, 0);
    public static final IsotopeMaterial Californium257 = new IsotopeMaterial(792, RadioactiveMaterial.REGISTRY.get(Californium.getMaterial()), 257, 0);

    // Einsteinium
    public static final IsotopeMaterial Einsteinium253 = new IsotopeMaterial(790, RadioactiveMaterial.REGISTRY.get(Einsteinium.getMaterial()), 253, 0);
    public static final IsotopeMaterial Einsteinium255 = new IsotopeMaterial(789, RadioactiveMaterial.REGISTRY.get(Einsteinium.getMaterial()), 255, 0);
    public static final IsotopeMaterial Einsteinium257 = new IsotopeMaterial(787, RadioactiveMaterial.REGISTRY.get(Einsteinium.getMaterial()), 257, 0);

    // Fermium
    public static final IsotopeMaterial Fermium257 = new IsotopeMaterial(785, RadioactiveMaterial.REGISTRY.get(Fermium.getMaterial()), 257, 0);
    public static final IsotopeMaterial Fermium258 = new IsotopeMaterial(784, RadioactiveMaterial.REGISTRY.get(Fermium.getMaterial()), 258, 0);
    public static final IsotopeMaterial Fermium259 = new IsotopeMaterial(783, RadioactiveMaterial.REGISTRY.get(Fermium.getMaterial()), 259, 0);
    public static final IsotopeMaterial Fermium262 = new IsotopeMaterial(782, RadioactiveMaterial.REGISTRY.get(Fermium.getMaterial()), 262, 0);
    public static final IsotopeMaterial Fermium263 = new IsotopeMaterial(781, RadioactiveMaterial.REGISTRY.get(Fermium.getMaterial()), 263, 0);

    // Mendelevium
    public static final IsotopeMaterial Mendelevium259 = new IsotopeMaterial(779, RadioactiveMaterial.REGISTRY.get(Mendelevium.getMaterial()), 259, 0);
    public static final IsotopeMaterial Mendelevium261 = new IsotopeMaterial(778, RadioactiveMaterial.REGISTRY.get(Mendelevium.getMaterial()), 261, 0);
    public static final IsotopeMaterial Mendelevium263 = new IsotopeMaterial(777, RadioactiveMaterial.REGISTRY.get(Mendelevium.getMaterial()), 263, 0);



    // FLUID MATERIALS
    public static final FluidMaterial FishOil = new FluidMaterial(999, "fish_oil", 14467421, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RareEarth, 1)), GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RawGrowthMedium = new FluidMaterial(998, "raw_growth_medium", 10777425, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RareEarth, 1)), GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial SterileGrowthMedium = new FluidMaterial(997, "sterilized_growth_medium", 11306862, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RawGrowthMedium, 1), new MaterialStack(RareEarth, 1)), GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial NeutralMatter = new FluidMaterial(995, "neutral_matter", 3956968, MaterialIconSet.FLUID, ImmutableList.of(), DISABLE_DECOMPOSITION);
    public static final FluidMaterial PositiveMatter = new FluidMaterial(994, "positive_matter", 11279131, MaterialIconSet.FLUID, ImmutableList.of(), DISABLE_DECOMPOSITION);
    public static final FluidMaterial IronChloride = new FluidMaterial(978, "iron_chloride", 0x060b0b, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(Iron, 1), new MaterialStack(Chlorine, 3)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial HighPressureSteam = new FluidMaterial(949, "high_pressure_steam", 0xFFFFFF, MaterialIconSet.GAS, of(new MaterialStack(Water, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION).setFluidTemperature(1000);
    public static final FluidMaterial HighOctaneGasoline = new FluidMaterial(948, "high_octane", 0xC7860B, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RareEarth, 1), new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 18)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Octane = new FluidMaterial(947, "octane", 0xCBCBCB, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 18)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial EthylTertButylEther = new FluidMaterial(946, "ethyl_tert_butyl_ether", 0xCBCBCB, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 14), new MaterialStack(Oxygen, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Gasoline = new FluidMaterial(945, "gasoline", 0xC7860B, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RawGasoline = new FluidMaterial(944, "raw_gasoline", 0xC5560C, MaterialIconSet.FLUID, ImmutableList.of(new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RocketFuelH8N4C2O4 = new FluidMaterial(939, "rocket_fuel_a", 0x5ECB22, MaterialIconSet.FLUID, of(new MaterialStack(Hydrogen, 8), new MaterialStack(Nitrogen, 4), new MaterialStack(Carbon, 2), new MaterialStack(Oxygen, 4)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    // FREE ID 938
    public static final FluidMaterial CoalTar = new FluidMaterial(937, "coal_tar", 0x5E3122, MaterialIconSet.FLUID, of(new MaterialStack(Coal, 1), new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial CoalTarOil = new FluidMaterial(936, "coal_tar_oil", 0xB5B553, MaterialIconSet.FLUID, of(new MaterialStack(CoalTar, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial SulfuricCoalTarOil = new FluidMaterial(935, "sulfuric_coal_tar_oil", 0xFFFFAD, MaterialIconSet.FLUID, of(new MaterialStack(CoalTarOil, 1), new MaterialStack(SulfuricAcid, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Anthracene = new FluidMaterial(934, "anthracene", 0xA2ACA2, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 14), new MaterialStack(Hydrogen, 10)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Kerosene = new FluidMaterial(933, "kerosene", 0xD570D5, MaterialIconSet.FLUID, of(new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial EthylBenzene = new FluidMaterial(932, "ethylbenzene", 0xD5D5D5, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 10)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial MonoMethylHydrazine = new FluidMaterial(931, "monomethylhydrazine", 0xFFFFFF, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 1), new MaterialStack(Hydrogen, 6), new MaterialStack(Nitrogen, 2)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Hydrazine = new FluidMaterial(930, "hydrazine", 0xFFFFFF, MaterialIconSet.FLUID, of(new MaterialStack(Nitrogen, 2), new MaterialStack(Hydrogen, 4)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial HydrogenPeroxide = new FluidMaterial(929, "hydrogen_peroxide", 0xD1FFFF, MaterialIconSet.FLUID, of(new MaterialStack(Hydrogen, 2), new MaterialStack(Oxygen, 2)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial EthylAnthraQuinone = new FluidMaterial(928, "ethylanthraquinone", 0xFFFF00, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 16), new MaterialStack(Hydrogen, 12), new MaterialStack(Oxygen, 2)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial EthylAnthraHydroQuinone = new FluidMaterial(927, "ethylanthrahydroquinone", 0xFFFF47, MaterialIconSet.FLUID, of(new MaterialStack(EthylAnthraQuinone, 1), new MaterialStack(Hydrogen, 2)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial PhthalicAcid = new FluidMaterial(925, "phthalicacid", 0xD1D1D1, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 6), new MaterialStack(Oxygen, 4)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial Naphthalene = new FluidMaterial(924, "naphtalene", 0xFFFFFF, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 10), new MaterialStack(Hydrogen, 8)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial DenseHydrazineFuelMixture = new FluidMaterial(923, "dense_hydrazine_fuel_mixture", 0x5E2B4A, MaterialIconSet.FLUID, of(new MaterialStack(Hydrazine, 1), new MaterialStack(Methanol, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RocketFuelCN3H7O3 = new FluidMaterial(922, "rocket_fuel_b", 0xBE46C5, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 1), new MaterialStack(Nitrogen, 3), new MaterialStack(Hydrogen, 7), new MaterialStack(Oxygen, 3)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RP1RocketFuel = new FluidMaterial(921, "rocket_fuel_c", 0xFF503C, MaterialIconSet.FLUID, of(new MaterialStack(RareEarth, 1), new MaterialStack(Oxygen, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial RP1 = new FluidMaterial(920, "rp", 0xFF6E5D, MaterialIconSet.FLUID, of(new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial LiquidOxygen = new FluidMaterial(919, "liquid_oxygen", 0x81FFFD, MaterialIconSet.FLUID, of(new MaterialStack(Oxygen, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION).setFluidTemperature(54);
    public static final FluidMaterial FermentationBase = new FluidMaterial(918, "fermentation_base", 0x3D5917, MaterialIconSet.FLUID, of(new MaterialStack(RareEarth, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final FluidMaterial LiquidHydrogen = new FluidMaterial(917, "liquid_hydrogen", 0x3AFFC6, MaterialIconSet.FLUID, of(new MaterialStack(Hydrogen, 1)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION).setFluidTemperature(14);
    public static final FluidMaterial PlatinumConcentrate = new FluidMaterial(903, "platinum_concentrate", Platinum.materialRGB, MaterialIconSet.FLUID, of(new MaterialStack(Platinum, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial AquaRegia = new FluidMaterial(899, "aqua_regia", 0xFFB132, MaterialIconSet.FLUID, of(new MaterialStack(NitricAcid, 1), new MaterialStack(HydrochloricAcid, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial AmmoniumChloride = new FluidMaterial(897, "ammonium_chloride", (Ammonia.materialRGB+ Chlorine.materialRGB)/2, MaterialIconSet.FLUID, of(new MaterialStack(Nitrogen, 1), new MaterialStack(Hydrogen, 4), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial PalladiumAmmonia = new FluidMaterial(895, "palladium_enriched_ammonia", Platinum.materialRGB, MaterialIconSet.FLUID, of(new MaterialStack(Palladium, 1), new MaterialStack(Ammonia, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial SodiumFormate = new FluidMaterial(891, "sodium_formate", 0xFFAAAA, MaterialIconSet.FLUID, of(new MaterialStack(Hydrogen, 1), new MaterialStack(Carbon, 1), new MaterialStack(Oxygen, 1), new MaterialStack(Oxygen, 1), new MaterialStack(Sodium, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial FormicAcid = new FluidMaterial(889, "formic_acid", 0xFFAA77, MaterialIconSet.FLUID, of(new MaterialStack(Carbon, 1), new MaterialStack(Hydrogen, 2), new MaterialStack(Oxygen, 2)), 0);
    public static final FluidMaterial RhodiumSulfate = new FluidMaterial(886, "rhodium_sulfate", 0xEEAA55, MaterialIconSet.FLUID, of(new MaterialStack(Rhodium, 1), new MaterialStack(Sulfur, 1), new MaterialStack(Oxygen, 4), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial RhodiumSulfateSolution = new FluidMaterial(885, "rhodium_sulfate_solution", 0xFFBB66, MaterialIconSet.FLUID, of(new MaterialStack(RhodiumSulfate, 1), new MaterialStack(Water, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial RutheniumTetroxideSolution = new FluidMaterial(879, "ruthenium_tetroxide_solution", 0xC7C7C7, MaterialIconSet.FLUID, of(new MaterialStack(Salt, 2), new MaterialStack(Ruthenium, 1), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial HotRutheniumTetroxideSolution = new FluidMaterial(880, "hot_ruthenium_tetroxide_solution", 0xC7C7C7, MaterialIconSet.FLUID, of(new MaterialStack(RutheniumTetroxideSolution, 1), new MaterialStack(Water, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial OsmiumSolution = new FluidMaterial(873, "osmium_solution", (Osmium.materialRGB + Water.materialRGB)/2, MaterialIconSet.FLUID, of(new MaterialStack(Osmium, 1), new MaterialStack(Oxygen, 4), new MaterialStack(Water, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial AcidicOsmiumSolution = new FluidMaterial(875, "acidic_osmium_solution", OsmiumSolution.materialRGB-20, MaterialIconSet.FLUID, of(new MaterialStack(Osmium, 1), new MaterialStack(Oxygen, 4), new MaterialStack(Water, 1), new MaterialStack(HydrochloricAcid, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial IridiumDioxide = new DustMaterial(874, "iridium_dioxide", (Iridium.materialRGB + Oxygen.materialRGB)/2, MaterialIconSet.DULL, 0, of(new MaterialStack(Iridium, 1), new MaterialStack(Oxygen, 2)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | DISABLE_DECOMPOSITION);
    public static final FluidMaterial AcidicIridiumSolution = new FluidMaterial(872, "acidic_iridium_solution", IridiumDioxide.materialRGB-20, MaterialIconSet.FLUID, of(new MaterialStack(HydrochloricAcid, 2), new MaterialStack(IridiumDioxide, 2)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial RhodiumSaltSolution = new FluidMaterial(866, "rhodium_salt_solution", 0x667788, MaterialIconSet.FLUID, of(new MaterialStack(Rhodium, 1), new MaterialStack(Salt, 2), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial RhodiumFilterCakeSolution = new FluidMaterial(861, "rhodium_filter_cake_solution", 0x667788, MaterialIconSet.FLUID, of(new MaterialStack(Rhodium, 1), new MaterialStack(Water, 2), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial Nitrochlorobenzene = new FluidMaterial(847, "nitrochlorobenzene", 0x8FB51A, MaterialIconSet.DULL, of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 4), new MaterialStack(Chlorine, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 2)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial Dichlorobenzidine = new FluidMaterial(843, "dichlorobenzidine", 0xA1DEA6, MaterialIconSet.DULL, of(new MaterialStack(Carbon, 12), new MaterialStack(Hydrogen, 10), new MaterialStack(Chlorine, 2), new MaterialStack(Nitrogen, 2)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial Diaminobenzidine = new FluidMaterial(842, "diaminobenzidine", 0x337D59, MaterialIconSet.DULL, of(new MaterialStack(Carbon, 12), new MaterialStack(Hydrogen, 14), new MaterialStack(Nitrogen, 4)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial Diphenylisophtalate = new FluidMaterial(841, "diphenylisophtalate", 0x246E57, MaterialIconSet.DULL, of(new MaterialStack(Carbon, 20), new MaterialStack(Hydrogen, 14), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial Chlorobenzene = new FluidMaterial(839, "chlorobenzene", 0x326A3E, MaterialIconSet.DULL, of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial SodiumTungstate = new FluidMaterial(752, "sodium_tungstate", 0x7a7777, MaterialIconSet.FLUID, of(new MaterialStack(Sodium, 2), new MaterialStack(Tungsten, 1), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION);
    public static final FluidMaterial IodizedOil = new FluidMaterial(711, "iodized_oil", 0x666666, MaterialIconSet.FLUID, of(), 0);

















    // DUST MATERIALS
    public static final DustMaterial Meat = new DustMaterial(996, "meat", 12667980, MaterialIconSet.SAND, 1, ImmutableList.of(), DISABLE_DECOMPOSITION);
    public static final DustMaterial Pyrotheum = new DustMaterial(991, "pyrotheum", 0xFF9A3C, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Redstone, 1), new MaterialStack(Blaze, 2), new MaterialStack(Sulfur, 1)), DISABLE_DECOMPOSITION | EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID);
    public static final DustMaterial EglinSteelBase = new DustMaterial(990, "eglin_steel_base", 0x8B4513, MaterialIconSet.SAND, 6, ImmutableList.of(new MaterialStack(Iron, 4), new MaterialStack(Kanthal, 1), new MaterialStack(Invar, 5)), 0);
    public static final DustMaterial MicaPulp = new DustMaterial(962, "mica_based", 0x917445, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Mica, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial AluminoSilicateWool = new DustMaterial(961, "alumino_silicate_wool", 0xbbbbbb, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Aluminium, 2), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 5)), DISABLE_DECOMPOSITION);
    public static final DustMaterial QuartzSand = new DustMaterial(960, "sand", 0xd2cfbc, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(NetherQuartz, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial Massicot = new DustMaterial(959, "massicot", 8943149, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Lead, 1), new MaterialStack(Oxygen, 1)), 0);
    public static final DustMaterial AntimonyTrioxide = new DustMaterial(958, "antimony_trioxide", 8092544, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Antimony, 2), new MaterialStack(Oxygen, 3)), 0);
    public static final DustMaterial Zincite = new DustMaterial(957, "zincite", 8947843, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Zinc, 1), new MaterialStack(Oxygen, 1)), 0);
    public static final DustMaterial CobaltOxide = new DustMaterial(956, "cobalt_oxide", 3556352, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Cobalt, 1), new MaterialStack(Oxygen, 1)), 0);
    public static final DustMaterial ArsenicTrioxide = new DustMaterial(955, "arsenic_trioxide", Arsenic.materialRGB-10, MaterialIconSet.ROUGH, 1, ImmutableList.of(new MaterialStack(Arsenic, 2), new MaterialStack(Oxygen, 3)), 0);
    // FREE ID 954
    public static final DustMaterial Ferrosilite = new DustMaterial(953, "ferrosilite", 5256470, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Iron, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 3)), 0);
    public static final DustMaterial Blizz = new DustMaterial(951, "blizz", 0x01F3F6, MaterialIconSet.DULL, 1, ImmutableList.of(new MaterialStack(Redstone, 1), new MaterialStack(Water, 1)), NO_SMELTING | SMELT_INTO_FLUID | MORTAR_GRINDABLE | BURNING);
    public static final DustMaterial Snow = new DustMaterial(950, "snow", 0xFFFFFF, MaterialIconSet.OPAL, 1, ImmutableList.of(new MaterialStack(Hydrogen, 2), new MaterialStack(Oxygen, 1)), NO_SMELTING);
    public static final DustMaterial Cryotheum = new DustMaterial(952, "cryotheum", 0x01F3F6, MaterialIconSet.SAND, 1, ImmutableList.of(new MaterialStack(Redstone, 1), new MaterialStack(Blizz, 2), new MaterialStack(Water, 1)), DISABLE_DECOMPOSITION | EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID);
    public static final DustMaterial PhthalicAnhydride = new DustMaterial(926, "phthalicanhydride", 0xD1D1D1, MaterialIconSet.SAND, 1, of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 4), new MaterialStack(Oxygen, 3)), NO_RECYCLING | GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION);
    public static final DustMaterial Dibismusthydroborat = new DustMaterial(909, "dibismuthhydroborat", 0x00B749, MaterialIconSet.SAND, 2, of(new MaterialStack(Bismuth, 2), new MaterialStack(Hydrogen, 1), new MaterialStack(Boron, 1)), 0);
    public static final DustMaterial BismuthTellurite = new DustMaterial(908, "bismuth_tellurite", 0x006B38, MaterialIconSet.SAND, 2, of(new MaterialStack(Bismuth, 2), new MaterialStack(Tellurium, 3)), 0);
    public static final DustMaterial CircuitCompoundMK3 = new DustMaterial(907, "circuit_compound_mkc", 0x003316, MaterialIconSet.SAND, 2, of(new MaterialStack(IndiumGalliumPhosphide, 1), new MaterialStack(Dibismusthydroborat, 3), new MaterialStack(BismuthTellurite, 2)), 0);
    public static final DustMaterial YttriumOxide = new DustMaterial(906, "yttrium_oxide", 0xC6EBB3, MaterialIconSet.SAND, 2, of(new MaterialStack(Yttrium, 2), new MaterialStack(Oxygen, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial Zirkelite = new DustMaterial(904, "zirkelite", 0x6B5E6A, MaterialIconSet.DULL, 4, of(new MaterialStack(Calcium, 2), new MaterialStack(Thorium, 2), new MaterialStack(Cerium, 1), new MaterialStack(Zirconium, 7), new MaterialStack(Rutile, 6), new MaterialStack(Niobium, 4), new MaterialStack(Oxygen, 10)), GENERATE_ORE);
    public static final DustMaterial PlatinumSalt = new DustMaterial(902, "platinum_salt", Platinum.materialRGB, MaterialIconSet.DULL, 2, of(new MaterialStack(Platinum, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PlatinumSaltRefined = new DustMaterial(901, "refined_platinum_salt", Platinum.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Platinum, 1), new MaterialStack(RareEarth, 1), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PlatinumMetallicPowder = new DustMaterial(900, "platinum_metallic_powder", Platinum.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Platinum, 1), new MaterialStack(RareEarth, 1)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial PlatinumResidue = new DustMaterial(898, "platinum_residue", 0x64632E, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Iridium, 2), new MaterialStack(RareEarth, 1), new MaterialStack(RareEarth, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PlatinumRawPowder = new DustMaterial(896, "reprecipitated_platinum", Platinum.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Platinum, 1), new MaterialStack(Chlorine, 2)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PalladiumMetallicPowder = new DustMaterial(894, "palladium_metallic_powder", Palladium.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Palladium, 1), new MaterialStack(RareEarth, 1)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial PalladiumRawPowder = new DustMaterial(893, "reprecipitated_palladium", Palladium.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Palladium, 1), new MaterialStack(Ammonia, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PalladiumSalt = new DustMaterial(892, "palladium_salt", Palladium.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Palladium, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial SodiumSulfate = new DustMaterial(890, "sodium_sulfate", 0xFFFFFF, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Sodium, 2), new MaterialStack(Sulfur, 1), new MaterialStack(Oxygen, 4)), 0);
    public static final DustMaterial PotassiumDisulfate = new DustMaterial(888, "potassium_disulfate", 0xFBBB66, MaterialIconSet.DULL, 2, of(new MaterialStack(Potassium, 2), new MaterialStack(Sulfur, 2), new MaterialStack(Oxygen, 7)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID);
    public static final DustMaterial LeachResidue = new DustMaterial(887, "leach_residue", 0x644629, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Iridium, 2), new MaterialStack(RareEarth, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial CalciumChloride = new DustMaterial(884, "calcium_chloride", 0xFFFFFF, MaterialIconSet.DULL, 2, of(new MaterialStack(Calcium, 1), new MaterialStack(Chlorine, 2)), 0);
    public static final DustMaterial SodiumRuthenate = new DustMaterial(882, "sodium_ruthenate", 0x3A40CB, MaterialIconSet.SHINY, 2, of(new MaterialStack(Sodium, 2), new MaterialStack(Oxygen, 4), new MaterialStack(Ruthenium, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial RutheniumTetroxide = new DustMaterial(881, "ruthenium_tetroxide", 0xC7C7C7, MaterialIconSet.DULL, 2, of(new MaterialStack(Ruthenium, 1), new MaterialStack(Oxygen, 4)), SMELT_INTO_FLUID | GENERATE_FLUID_BLOCK | EXCLUDE_BLOCK_CRAFTING_RECIPES | DISABLE_DECOMPOSITION);
    public static final DustMaterial RarestMetalResidue = new DustMaterial(878, "rarest_metal_residue", 0x644629, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Iridium, 2), new MaterialStack(Oxygen, 2), new MaterialStack(SiliconDioxide, 2), new MaterialStack(Gold, 3), new MaterialStack(RareEarth, 1)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial IrMetalResidue = new DustMaterial(877, "iridium_metal_residue", 0x846649, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Iridium, 2), new MaterialStack(Oxygen, 4), new MaterialStack(SiliconDioxide, 2), new MaterialStack(Gold, 3)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial PGSDResidue = new DustMaterial(876, "sludge_dust_residue", (SiliconDioxide.materialRGB + Gold.materialRGB)/2, MaterialIconSet.DULL, 2, of(new MaterialStack(SiliconDioxide, 2), new MaterialStack(Gold, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial IridiumChloride = new DustMaterial(871, "iridium_chloride", (Iridium.materialRGB+Chlorine.materialRGB)/2, MaterialIconSet.LAPIS, 2, of(new MaterialStack(Iridium, 1), new MaterialStack(Chlorine, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial PGSDResidue2 = new DustMaterial(870, "metallic_sludge_dust_residue", (Copper.materialRGB+Nickel.materialRGB)/2, MaterialIconSet.DULL, 2, of(new MaterialStack(Copper, 1), new MaterialStack(Nickel, 1)), DECOMPOSITION_BY_CENTRIFUGING);
    public static final DustMaterial CrudeRhodiumMetal = new DustMaterial(868, "crude_rhodium_metal", 0x666666, MaterialIconSet.DULL, 2, of(new MaterialStack(Rhodium, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial SodiumNitrate = new DustMaterial(865, "sodium_nitrate", 0x846684, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Sodium, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial RhodiumNitrate = new DustMaterial(864, "rhodium_nitrate", (SodiumNitrate.materialRGB+Rhodium.materialRGB)/2, MaterialIconSet.QUARTZ, 2, of(new MaterialStack(Rhodium, 1), new MaterialStack(Ammonia, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial ZincSulfate = new DustMaterial(863, "zinc_sulfate", (Zinc.materialRGB+Sulfur.materialRGB)/2, MaterialIconSet.QUARTZ, 2, of(new MaterialStack(Zinc, 1), new MaterialStack(Sulfur, 1), new MaterialStack(Oxygen, 4)), 0);
    public static final DustMaterial RhodiumFilterCake = new DustMaterial(862, "rhodium_filter_cake", RhodiumNitrate.materialRGB-10, MaterialIconSet.QUARTZ, 2, of(new MaterialStack(Rhodium, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    // FREE ID 860
    // FREE ID 849
    public static final DustMaterial ChromiumTrioxide = new DustMaterial(848, "chromium_trioxide", 0xFFE4E1, MaterialIconSet.DULL, 0, of(new MaterialStack(Chrome, 1), new MaterialStack(Oxygen, 3)), 0);
    public static final DustMaterial PotassiumDichromate = new DustMaterial(845, "potassium_dichromate", 0xFF084E, MaterialIconSet.DULL, 0, of(new MaterialStack(Potassium, 2), new MaterialStack(Chrome, 2), new MaterialStack(Oxygen, 7)), 0);
    public static final DustMaterial Triniite = new DustMaterial(836,"triniite",0x5F5A76, MaterialIconSet.SHINY, 7, of(new MaterialStack(Trinium, 3), new MaterialStack(Actinium, 3), new MaterialStack(Selenium, 4), new MaterialStack(Astatine, 4)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial SilverOxide = new DustMaterial(835, "silver_oxide", 0x4D4D4D, MaterialIconSet.DULL, 2, of(new MaterialStack(Silver, 2), new MaterialStack(Oxygen, 1)), 0);
    public static final DustMaterial SilverChloride = new DustMaterial(834, "silver_chloride", 0xFEFEFE, MaterialIconSet.DULL, 2, of(new MaterialStack(Silver, 1), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION | GENERATE_FLUID_BLOCK);
    public static final DustMaterial PotassiumMetabisulfite = new DustMaterial(832, "potassium_metabisulfite", 0xFFFFFF, MaterialIconSet.DULL, 2, of(new MaterialStack(Potassium, 2), new MaterialStack(Sulfur, 2), new MaterialStack(Oxygen, 5)), 0);
    public static final DustMaterial LeadNitrate = new DustMaterial(830, "lead_nitrate", 0xFEFEFE, MaterialIconSet.DULL, 2, of(new MaterialStack(Lead, 1), new MaterialStack(Nitrogen, 2), new MaterialStack(Oxygen, 6)), 0);
    public static final DustMaterial SodiumPotassiumAlloy = new DustMaterial(776, "sodium_potassium_alloy", 0x252525, MaterialIconSet.SHINY, 2, of(new MaterialStack(Sodium, 7), new MaterialStack(Potassium, 3)), SMELT_INTO_FLUID);
    public static final DustMaterial SodiumFluoride = new DustMaterial(773, "sodium_fluoride", (Sodium.materialRGB+Fluorine.materialRGB)/2, MaterialIconSet.DULL, 2, of(new MaterialStack(Sodium, 1), new MaterialStack(Fluorine, 1)), 0);
    public static final DustMaterial PotassiumFluoride = new DustMaterial(772, "potassium_fluoride", 0xFDFDFD, MaterialIconSet.DULL, 2, of(new MaterialStack(Potassium, 1), new MaterialStack(Fluorine, 1)), 0);
    public static final DustMaterial FLiNaK = new DustMaterial(771, "flinak", 0x252525, MaterialIconSet.DULL, 2, of(new MaterialStack(Fluorine, 3), new MaterialStack(Lithium, 1), new MaterialStack(Sodium, 1), new MaterialStack(Potassium, 1)), SMELT_INTO_FLUID);
    public static final DustMaterial FLiBe = new DustMaterial(769, "flibe", 0x252525, MaterialIconSet.DULL, 2, of(new MaterialStack(Fluorine, 3), new MaterialStack(Lithium, 1), new MaterialStack(Beryllium, 1)), SMELT_INTO_FLUID);
    public static final DustMaterial OrganicFertilizer = new DustMaterial(754, "organic_fertilizer", 0xDDDDDD, MaterialIconSet.SHINY, 2, of(new MaterialStack(Calcium, 5), new MaterialStack(Phosphate, 3), new MaterialStack(Hydrogen, 1), new MaterialStack(Oxygen, 1)), DISABLE_DECOMPOSITION);
    public static final DustMaterial CalciumTungstate = new DustMaterial(753, "calcium_tungstate", 0x6e6867, MaterialIconSet.SHINY, 0, of(new MaterialStack(Tungsten, 1), new MaterialStack(Calcium, 1), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION);
    public static final DustMaterial TungsticAcid = new DustMaterial(751, "tungstic_acid", 0xFFE700, MaterialIconSet.SHINY, 0, of(new MaterialStack(Hydrogen, 2), new MaterialStack(Tungsten, 1), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION);
    public static final DustMaterial TungstenTrioxide = new DustMaterial(750, "tungsten_trioxide", 0x99FF97, Tungsten.materialIconSet, 0, of(new MaterialStack(Tungsten, 1), new MaterialStack(Oxygen, 3)), DISABLE_DECOMPOSITION);
    public static final DustMaterial TungstenHexachloride = new DustMaterial(749, "tungsten_hexachloride", 0x533f75, MaterialIconSet.METALLIC, 0, of(new MaterialStack(Tungsten, 1), new MaterialStack(Chlorine, 6)), DISABLE_DECOMPOSITION);
    public static final DustMaterial NaquadricCompound = new DustMaterial(748, "naquadric_compound", Naquadah.materialRGB, Naquadah.materialIconSet, Naquadah.harvestLevel, Naquadah.materialComponents, GENERATE_ORE);
    public static final DustMaterial EnrichedNaquadricCompound = new DustMaterial(747, "enriched_naquadric_compound", NaquadahEnriched.materialRGB, NaquadahEnriched.materialIconSet, NaquadahEnriched.harvestLevel, NaquadahEnriched.materialComponents, GENERATE_ORE);
    public static final DustMaterial NaquadriaticCompound = new DustMaterial(746, "naquadriatic_compound", Naquadria.materialRGB, Naquadria.materialIconSet, Naquadria.harvestLevel, Naquadria.materialComponents, GENERATE_ORE);
    public static final DustMaterial Caliche = new DustMaterial(712, "caliche", 0xeb9e3f, MaterialIconSet.DULL, 3, of(new MaterialStack(SodiumNitrate, 1), new MaterialStack(Potassium, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 3), new MaterialStack(RockSalt, 1), new MaterialStack(Sodium, 1), new MaterialStack(Iodine, 1), new MaterialStack(Oxygen, 3)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial Rhodocrosite = new DustMaterial(704, "rhodocrosite", 0xff6699, MaterialIconSet.SHINY, 2, of(new MaterialStack(Manganese, 1), new MaterialStack(Carbon, 1), new MaterialStack(Oxygen, 3)), GENERATE_ORE);
    public static final DustMaterial Fluorite = new DustMaterial(703, "fluorite", 0x009933, MaterialIconSet.SHINY, 2, of(new MaterialStack(Calcium, 1), new MaterialStack(Fluorine, 2)), GENERATE_ORE);
    public static final DustMaterial Columbite = new DustMaterial(702, "columbite", 0xCCCC00, MaterialIconSet.SHINY, 2, of(new MaterialStack(Iron, 1), new MaterialStack(Niobium, 2), new MaterialStack(Oxygen, 6)), GENERATE_ORE);
    public static final DustMaterial Pyrochlore = new DustMaterial(701, "pyrochlore", 0x996633, MaterialIconSet.SHINY, 2, of(new MaterialStack(Calcium, 12), new MaterialStack(Strontium, 6), new MaterialStack(Barium, 6), new MaterialStack(RareEarth, 1), new MaterialStack(Thorium, 1), new MaterialStack(Uranium, 1), new MaterialStack(Niobium, 26), new MaterialStack(Oxygen, 78), new MaterialStack(Fluorine, 26)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial FluoroApatite = new DustMaterial(689,"fluoroapatite",Apatite.materialRGB,MaterialIconSet.DULL,2,of(new MaterialStack(Calcium, 5), new MaterialStack(Phosphate, 3), new MaterialStack(Fluorine, 1)),GENERATE_ORE);
    public static final DustMaterial NdYAG = new DustMaterial(688,"nd_yag",0xcf8acf,MaterialIconSet.SHINY,6,of(),SMELT_INTO_FLUID);
    public static final DustMaterial PrHoYLF = new DustMaterial(687,"prho_ylf",0x6f20af,MaterialIconSet.SHINY,6,of(),SMELT_INTO_FLUID);
    public static final DustMaterial LuTmYVO = new DustMaterial(686,"lutm_yvo",0x206faf,MaterialIconSet.SHINY,6,of(),SMELT_INTO_FLUID);
    public static final DustMaterial IndiumPhospide = new DustMaterial(684,"indium_phosphide",0x5c9c9c,MaterialIconSet.SHINY,6,of(new MaterialStack(Indium, 1), new MaterialStack(Phosphorus, 1)),0);
    public static final DustMaterial Barytocalcite = new DustMaterial(670, "barytocalcite", 0xbf9c7c, MaterialIconSet.SHINY, 2, of (new MaterialStack(Barium, 1), new MaterialStack(Calcium, 1), new MaterialStack(Carbon, 2), new MaterialStack(Oxygen, 6)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial Witherite = new DustMaterial(669, "witherite", 0xc6c29d, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Barium, 1), new MaterialStack(Carbon, 1), new MaterialStack(Oxygen, 3)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial Arsenopyrite = new DustMaterial(668, "arsenopyrite", 0xaa9663, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Iron, 1), new MaterialStack(Arsenic, 1), new MaterialStack(Sulfur, 1)), GENERATE_ORE);
    public static final DustMaterial Gallite = new DustMaterial(667, "gallite", 0x7f7b9e, MaterialIconSet.SHINY, 2, of(new MaterialStack(Copper, 1), new MaterialStack(Gallium, 1), new MaterialStack(Sulfur, 2)), GENERATE_ORE);
    public static final DustMaterial Bowieite = new DustMaterial(666, "bowieite", 0x8b8995, MaterialIconSet.ROUGH, 2, of(new MaterialStack(Rhodium, 1), new MaterialStack(Iridium, 1), new MaterialStack(Platinum, 1), new MaterialStack(Sulfur, 3)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final DustMaterial Celestine = new DustMaterial(665, "celestine", 0x9db1b8, MaterialIconSet.SHINY, 2, of(new MaterialStack(Strontium, 1), new MaterialStack(Sulfur, 1), new MaterialStack(Oxygen, 4)), GENERATE_ORE);

    // GEM MATERIALS
    public static final GemMaterial CubicZirconia = new GemMaterial(911, "cubic_zirconia", 0xFFDFE2, MaterialIconSet.DIAMOND, 6, of(new MaterialStack(Zirconium, 1), new MaterialStack(Oxygen, 2)), NO_RECYCLING | NO_SMELTING | GENERATE_LENSE);
    public static final GemMaterial Prasiolite = new GemMaterial(910, "prasiolite", 0x9EB749, MaterialIconSet.QUARTZ, 2, of(new MaterialStack(Silicon, 5), new MaterialStack(Oxygen, 10), new MaterialStack(Iron, 1)), GENERATE_ORE | GENERATE_LENSE);
    public static final GemMaterial MagnetoResonatic = new GemMaterial(913, "magneto_resonatic", 0xFF97FF, MaterialIconSet.MAGNETIC, 2, of(new MaterialStack(Prasiolite, 3), new MaterialStack(BismuthTellurite, 6), new MaterialStack(CubicZirconia, 1), new MaterialStack(SteelMagnetic, 1)), NO_RECYCLING | DISABLE_DECOMPOSITION | FLAMMABLE | HIGH_SIFTER_OUTPUT | NO_SMELTING | GENERATE_LENSE);
    public static final GemMaterial RhodiumSalt = new GemMaterial(867, "rhodium_salt", 0x848484, MaterialIconSet.GEM_VERTICAL, 2, of(new MaterialStack(Rhodium, 1), new MaterialStack(Salt, 2)), DISABLE_DECOMPOSITION);
    public static final GemMaterial Zircon = new GemMaterial(713, "zircon", 0xeb9e3f, MaterialIconSet.GEM_VERTICAL, 7, of(new MaterialStack(Zirconium, 1), new MaterialStack(Silicon, 1), new MaterialStack(Oxygen, 4)), GENERATE_ORE | DISABLE_DECOMPOSITION);
    public static final GemMaterial LeadZirconateTitanate = new GemMaterial(696, "lead_zirconate_titanate", 0x359ade, MaterialIconSet.OPAL, 3, of(new MaterialStack(Lead, 1), new MaterialStack(Zirconium, 1), new MaterialStack(Titanium, 1), new MaterialStack(Oxygen, 3)), GENERATE_PLATE | DISABLE_DECOMPOSITION);






    // INGOT MATERIALS
    public static final IngotMaterial EglinSteel = new IngotMaterial(989, "eglin_steel", 0x8B4513, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(GAMaterials.EglinSteelBase, 10), new MaterialStack(Sulfur, 1), new MaterialStack(Silicon, 1), new MaterialStack(Carbon, 1)), EXT2_METAL | GENERATE_FRAME, null, 1048);
    public static final IngotMaterial Grisium = new IngotMaterial(987, "grisium", 0x355D6A, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Titanium, 9), new MaterialStack(Carbon, 9), new MaterialStack(Potassium, 9), new MaterialStack(Lithium, 9), new MaterialStack(Sulfur, 9), new MaterialStack(Hydrogen, 5)), EXT2_METAL | GENERATE_FRAME, null, 3850);
    public static final IngotMaterial Inconel625 = new IngotMaterial(986, "inconel_a", 0x80C880, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Nickel, 3), new MaterialStack(Chrome, 7), new MaterialStack(Molybdenum, 10), new MaterialStack(Invar, 10), new MaterialStack(Nichrome, 13)), EXT2_METAL | GENERATE_FRAME, null, 2425);
    public static final IngotMaterial MaragingSteel250 = new IngotMaterial(985, "maraging_steel_a", 0x92918D, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Steel, 16), new MaterialStack(Molybdenum, 1), new MaterialStack(Titanium, 1), new MaterialStack(Nickel, 4), new MaterialStack(Cobalt, 2)), EXT2_METAL | GENERATE_FRAME, null, 2413);
    public static final IngotMaterial Potin = new IngotMaterial(984, "potin", 0xC99781, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Lead, 2), new MaterialStack(Bronze, 2), new MaterialStack(Tin, 1)), EXT2_METAL | GENERATE_FRAME, null);
    public static final IngotMaterial Staballoy = new IngotMaterial(983, "staballoy", 0x444B42, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Uranium, 9), new MaterialStack(Titanium, 1)), EXT2_METAL | GENERATE_FRAME | DISABLE_DECOMPOSITION, null, 3450);
    public static final IngotMaterial HastelloyN = new IngotMaterial(982, "hastelloy_n", 0xDDDDDD, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Yttrium, 2), new MaterialStack(Molybdenum, 4), new MaterialStack(Chrome, 2), new MaterialStack(Titanium, 2), new MaterialStack(Nickel, 15)), EXT2_METAL | GENERATE_FRAME | GENERATE_DENSE, null, 4350);
    public static final IngotMaterial Tumbaga = new IngotMaterial(981, "tumbaga", 0xFFB20F, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Gold, 7), new MaterialStack(Bronze, 3)), EXT2_METAL | GENERATE_FRAME, null, 1200);
    public static final IngotMaterial Stellite = new IngotMaterial(980, "stellite", 0x9991A5, MaterialIconSet.METALLIC, 6, ImmutableList.of(new MaterialStack(Cobalt, 9), new MaterialStack(Chrome, 9), new MaterialStack(Manganese, 5), new MaterialStack(Titanium, 2)), EXT2_METAL | GENERATE_FRAME, null, 4310);
    public static final IngotMaterial Talonite = new IngotMaterial(979, "talonite", 0x9991A5, MaterialIconSet.SHINY, 6, ImmutableList.of(new MaterialStack(Cobalt, 4), new MaterialStack(Chrome, 3), new MaterialStack(Phosphorus, 2), new MaterialStack(Molybdenum, 1)), EXT2_METAL | GENERATE_FRAME, null, 3454);
    public static final IngotMaterial MVSuperconductorBase = new IngotMaterial(976, "mv_superconductor_base", 0x535353, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Cadmium, 5), new MaterialStack(Magnesium, 1), new MaterialStack(Oxygen, 6)), STD_METAL, null, 1200);
    public static final IngotMaterial HVSuperconductorBase = new IngotMaterial(975, "hv_superconductor_base", 0x4a2400, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Titanium, 1), new MaterialStack(Barium, 9), new MaterialStack(Copper, 10), new MaterialStack(Oxygen, 20)), STD_METAL, null, 3300);
    public static final IngotMaterial EVSuperconductorBase = new IngotMaterial(974, "ev_superconductor_base", 0x005800, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Uranium, 1), new MaterialStack(Platinum, 3)), STD_METAL | DISABLE_DECOMPOSITION, null, 4400);
    public static final IngotMaterial IVSuperconductorBase = new IngotMaterial(973, "iv_superconductor_base", 0x300030, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Vanadium, 1), new MaterialStack(Indium, 3)), STD_METAL, null, 5200);
    public static final IngotMaterial LuVSuperconductorBase = new IngotMaterial(972, "luv_superconductor_base", 0x7a3c00, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Indium, 4), new MaterialStack(Bronze, 8), new MaterialStack(Barium, 2), new MaterialStack(Titanium, 1), new MaterialStack(Oxygen, 14)), STD_METAL, null, 6000);
    public static final IngotMaterial ZPMSuperconductorBase = new IngotMaterial(971, "zpm_superconductor_base", 0x111111, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Naquadah, 4), new MaterialStack(Indium, 2), new MaterialStack(Palladium, 6), new MaterialStack(Osmium, 1)), STD_METAL | DISABLE_DECOMPOSITION, null, 8100);
    public static final IngotMaterial MVSuperconductor = new IngotMaterial(970, "mv_superconductor", 0x535353, MaterialIconSet.SHINY, 1, of(new MaterialStack(MVSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial HVSuperconductor = new IngotMaterial(969, "hv_superconductor", 0x4a2400, MaterialIconSet.SHINY, 1, of(new MaterialStack(HVSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial EVSuperconductor = new IngotMaterial(968, "ev_superconductor", 0x005800, MaterialIconSet.SHINY, 1, of(new MaterialStack(EVSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial IVSuperconductor = new IngotMaterial(967, "iv_superconductor", 0x300030, MaterialIconSet.SHINY, 1, of(new MaterialStack(IVSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial LuVSuperconductor = new IngotMaterial(966, "luv_superconductor", 0x7a3c00, MaterialIconSet.SHINY, 1, of(new MaterialStack(LuVSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial ZPMSuperconductor = new IngotMaterial(964, "zpm_superconductor", 0x111111, MaterialIconSet.SHINY, 1, of(new MaterialStack(ZPMSuperconductorBase, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial Enderium = new IngotMaterial(963, "enderium", 0x23524a, MaterialIconSet.METALLIC, 3, ImmutableList.of(new MaterialStack(Lead, 3), new MaterialStack(Platinum, 1), new MaterialStack(EnderPearl, 1)), EXT2_METAL | DISABLE_DECOMPOSITION, null, 8.0F, 3.0F, 1280, 4500);
    public static final IngotMaterial Nitinol60 = new IngotMaterial(943, "nitinol_a", 0xCCB0EC, MaterialIconSet.METALLIC, 4, ImmutableList.of(new MaterialStack(Nickel, 2), new MaterialStack(Titanium, 3)), EXT2_METAL | GENERATE_FRAME, null, Titanium.blastFurnaceTemperature);
    public static final IngotMaterial BabbittAlloy = new IngotMaterial(942, "babbitt_alloy", 0xA19CA4, MaterialIconSet.METALLIC, 4, ImmutableList.of(new MaterialStack(Tin, 5), new MaterialStack(Lead, 36), new MaterialStack(Antimony, 8), new MaterialStack(Arsenic, 1)), EXT2_METAL | GENERATE_FRAME, null, 737);
    public static final IngotMaterial HG1223 = new IngotMaterial(941, "hg_alloy", 0x245397, MaterialIconSet.METALLIC, 4, ImmutableList.of(new MaterialStack(Mercury, 1), new MaterialStack(Barium, 2), new MaterialStack(Calcium, 2), new MaterialStack(Copper, 3), new MaterialStack(Oxygen, 8)), EXT2_METAL | GENERATE_FRAME | GENERATE_DENSE, null, 5325);
    public static final IngotMaterial IncoloyMA956 = new IngotMaterial(940, "incoloy_ma", 0xAABEBB, MaterialIconSet.METALLIC, 4, ImmutableList.of(new MaterialStack(Iron, 16), new MaterialStack(Aluminium, 3), new MaterialStack(Chrome, 5), new MaterialStack(Yttrium, 1)), EXT2_METAL | GENERATE_FRAME | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 5325);
    public static final IngotMaterial ZirconiumCarbide = new IngotMaterial(905, "zirconium_carbide", 0xFFDACD, MaterialIconSet.SHINY, 2, of(new MaterialStack(Zirconium, 1), new MaterialStack(Carbon, 1)), EXT2_METAL | GENERATE_FRAME, null, 1200);
    public static final IngotMaterial RhodiumPlatedPalladium = new IngotMaterial(859, "rhodium_plated_palladium", Palladium.materialRGB, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Palladium, 3), new MaterialStack(Rhodium, 1)), EXT2_METAL | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 14.0F, 6.5f, 2900, 4500);
    public static final IngotMaterial Ruridit = new IngotMaterial(858, "ruridit", 0xA4A4A4, MaterialIconSet.METALLIC, 2, of(new MaterialStack(Ruthenium, 2), new MaterialStack(Iridium, 1)), CORE_METAL, null, 9950);
    public static final IngotMaterial Polybenzimidazole = new IngotMaterial(840, "polybenzimidazole", 0x2D2D2D, MaterialIconSet.DULL, 0, of(new MaterialStack(Carbon, 20), new MaterialStack(Hydrogen, 12), new MaterialStack(Nitrogen, 4)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | NO_SMASHING | DISABLE_DECOMPOSITION | GENERATE_FOIL);
    public static final IngotMaterial GoldAlloy = new IngotMaterial(828, "gold_alloy", 0xBBA52B, MaterialIconSet.SHINY, 2, of(new MaterialStack(Copper, 3), new MaterialStack(Gold, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION);
    public static final IngotMaterial PreciousMetal = new IngotMaterial(827, "precious_metal", 0xB99023, MaterialIconSet.SHINY, 2, of(new MaterialStack(Gold, 1), new MaterialStack(RareEarth, 1)), DISABLE_DECOMPOSITION | GENERATE_ORE, null);
    public static final IngotMaterial LithiumFluoride = new IngotMaterial(774, "lithium_fluoride", 0x757575, MaterialIconSet.SHINY, 2, of(new MaterialStack(Lithium, 1), new MaterialStack(Fluorine, 1)), 0); //LithiumHydroxide + Hydrogen = LithiumFluoride
    public static final IngotMaterial BerylliumFluoride = new IngotMaterial(770, "beryllium_fluoride", 0x757575, MaterialIconSet.SHINY, 2, of(new MaterialStack(Beryllium, 1), new MaterialStack(Fluorine, 2)), 0);
    public static final IngotMaterial LeadBismuthEutectic = new IngotMaterial(768, "lead_bismuth_eutatic", 0x757575, MaterialIconSet.SHINY, 2, of(new MaterialStack(Lead, 3), new MaterialStack(Bismuth, 7)), SMELT_INTO_FLUID);
    public static final IngotMaterial AbyssalAlloy = new IngotMaterial(755, "abyssal_alloy", 0x9E706A, MaterialIconSet.METALLIC, 6, of(new MaterialStack(StainlessSteel, 5), new MaterialStack(TungstenCarbide, 5), new MaterialStack(Nichrome, 5), new MaterialStack(Bronze, 5), new MaterialStack(IncoloyMA956, 5), new MaterialStack(Iodine, 1), new MaterialStack(Germanium, 1), new MaterialStack(Radon, 1)), EXT2_METAL | DISABLE_DECOMPOSITION, null, 9625);
    public static final IngotMaterial ReactorSteel = new IngotMaterial(741, "reactor_steel", 0xB4B3B0, MaterialIconSet.SHINY, 2, of(new MaterialStack(Iron, 15), new MaterialStack(Niobium, 1), new MaterialStack(Vanadium, 4), new MaterialStack(Carbon, 2)), DISABLE_DECOMPOSITION | GENERATE_DENSE);
    public static final IngotMaterial Incoloy813 = new IngotMaterial(734, "incoloy813", 0x37bf7e, MaterialIconSet.SHINY, 2, of(new MaterialStack(VanadiumSteel, 4), new MaterialStack(Osmiridium, 2), new MaterialStack(Technetium, 3), new MaterialStack(Germanium, 4), new MaterialStack(Iridium, 7), new MaterialStack(Duranium, 5), new MaterialStack(Californium252.getMaterial(), 1)), EXT2_METAL | GENERATE_FRAME | DISABLE_DECOMPOSITION, null, 10000);
    public static final IngotMaterial EnrichedNaquadahAlloy = new IngotMaterial(733, "enriched_naquadah_alloy", 0x403f3d, MaterialIconSet.SHINY, 2, of(new MaterialStack(NaquadahEnriched, 4), new MaterialStack(Rhodium, 2), new MaterialStack(Ruthenium, 2), new MaterialStack(Dubnium, 1), new MaterialStack(Rubidium, 2), new MaterialStack(Einsteinium255.getMaterial(), 1)), EXT2_METAL | DISABLE_DECOMPOSITION | GENERATE_FRAME, null, 10000);
    public static final IngotMaterial HastelloyX78 = new IngotMaterial(732, "hastelloy_x78", 0x6ba3e3, MaterialIconSet.SHINY, 2, of(new MaterialStack(NaquadahAlloy, 10), new MaterialStack(Rhenium, 5), new MaterialStack(Naquadria, 4), new MaterialStack(Gadolinium, 3), new MaterialStack(Strontium, 2), new MaterialStack(Polonium, 3), new MaterialStack(Rutherfordium, 2), new MaterialStack(Fermium258.getMaterial(), 1)), EXT2_METAL | GENERATE_FRAME | DISABLE_DECOMPOSITION, null, 12300);
    public static final IngotMaterial HastelloyK243 = new IngotMaterial(731, "hastelloy_k243", 0xa5f564, MaterialIconSet.SHINY, 2, of(new MaterialStack(HastelloyX78, 5), new MaterialStack(NiobiumNitride, 2), new MaterialStack(Tritanium, 4), new MaterialStack(TungstenCarbide, 4), new MaterialStack(Promethium, 4), new MaterialStack(Mendelevium261.getMaterial(), 1)), EXT2_METAL | GENERATE_FRAME | DISABLE_DECOMPOSITION, null, 12400);
    public static final IngotMaterial Polyetheretherketone = new IngotMaterial(730, "polyetheretherketone", 0x403e37, MaterialIconSet.DULL, 2, of(new MaterialStack(Carbon, 20), new MaterialStack(Hydrogen, 12), new MaterialStack(Oxygen, 3)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | NO_SMASHING | GENERATE_FOIL | DISABLE_DECOMPOSITION | GENERATE_FINE_WIRE, null);
    public static final IngotMaterial Zylon = new IngotMaterial(729, "zylon", 0xFFE000, MaterialIconSet.SHINY, 2, of(new MaterialStack(Carbon, 14), new MaterialStack(Hydrogen, 6), new MaterialStack(Nitrogen, 2), new MaterialStack(Oxygen, 2)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | GENERATE_FOIL | NO_SMASHING | DISABLE_DECOMPOSITION, null);
    public static final IngotMaterial FullerenePolymerMatrix = new IngotMaterial(728, "fullerene_polymer_matrix", 0x403e37, MaterialIconSet.DULL, 2, of(new MaterialStack(Palladium, 1),new MaterialStack(Iron,1), new MaterialStack(Carbon, 153), new MaterialStack(Hydrogen, 36), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 2)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | GENERATE_FOIL | NO_SMASHING | DISABLE_DECOMPOSITION, null);
    public static final IngotMaterial CarbonNanotubes = new IngotMaterial(709, "carbon_nanotubes", 0x2c2c2c, MaterialIconSet.SHINY, 5, of(new MaterialStack(Carbon, 1)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | GENERATE_FOIL | DISABLE_DECOMPOSITION | GENERATE_FINE_WIRE, null);
    public static final IngotMaterial BlackTitanium = new IngotMaterial(856, "black_titanium", 0x6C003B, MaterialIconSet.SHINY, 7, of(new MaterialStack(Titanium, 26), new MaterialStack(Lanthanum, 6), new MaterialStack(Tungsten, 4), new MaterialStack(Cobalt, 3), new MaterialStack(Manganese, 2), new MaterialStack(Phosphorus, 2), new MaterialStack(Palladium, 2), new MaterialStack(Niobium, 1), new MaterialStack(Argon, 5)), CORE_METAL | DISABLE_DECOMPOSITION, null, 11500);
    public static final IngotMaterial TungstenTitaniumCarbide = new IngotMaterial(855, "tungsten_titanium_carbide", 0x800d0d, MaterialIconSet.SHINY, 7, of(new MaterialStack(TungstenCarbide, 7), new MaterialStack(Titanium, 3)), CORE_METAL | DISABLE_DECOMPOSITION, null, 4422);
    public static final IngotMaterial TitanSteel = new IngotMaterial(854, "titan_steel", 0xAA0d0d, MaterialIconSet.SHINY, 7, of(new MaterialStack(TungstenTitaniumCarbide, 3), new MaterialStack(Jasper, 3)), CORE_METAL | DISABLE_DECOMPOSITION, null, 9200);
    public static final IngotMaterial Inconel792 = new IngotMaterial(853, "inconel_b", 0x6CF076, MaterialIconSet.SHINY, 5, of(new MaterialStack(Nickel, 2), new MaterialStack(Niobium, 1), new MaterialStack(Aluminium, 2), new MaterialStack(Nichrome, 1)), CORE_METAL | DISABLE_DECOMPOSITION, null, 6200);
    public static final IngotMaterial Pikyonium = new IngotMaterial(852, "pikyonium", 0x3467BA, MaterialIconSet.SHINY, 7, of(new MaterialStack(Inconel792, 8), new MaterialStack(EglinSteel, 5), new MaterialStack(NaquadahEnriched, 4), new MaterialStack(Cerium, 3), new MaterialStack(Antimony, 2), new MaterialStack(Platinum, 2), new MaterialStack(Ytterbium, 1), new MaterialStack(TungstenSteel, 4)), CORE_METAL | DISABLE_DECOMPOSITION, null, 10400);
    public static final IngotMaterial Lafium = new IngotMaterial(851, "lafium", 0x0d0d60, MaterialIconSet.SHINY, 7, of(new MaterialStack(HastelloyN, 8), new MaterialStack(Naquadah, 4), new MaterialStack(Samarium, 2), new MaterialStack(Tungsten, 4), new MaterialStack(Argon, 2), new MaterialStack(Aluminium, 6), new MaterialStack(Nickel, 8), new MaterialStack(Carbon, 2)), CORE_METAL | DISABLE_DECOMPOSITION, null, 9865);
    public static final IngotMaterial Zeron100 = new IngotMaterial(850, "zeron", 0xB4B414, MaterialIconSet.SHINY, 5, of(new MaterialStack(Chrome, 13), new MaterialStack(Nickel, 3), new MaterialStack(Molybdenum, 2), new MaterialStack(Copper, 10), new MaterialStack(Tungsten, 2), new MaterialStack(Steel, 20)), CORE_METAL | DISABLE_DECOMPOSITION, null, 6100);
    public static final IngotMaterial Cinobite = new IngotMaterial(721, "cinobite", 0x010101, MaterialIconSet.SHINY, 5, of(new MaterialStack(Zeron100, 8), new MaterialStack(Naquadria, 4), new MaterialStack(Gadolinium, 3), new MaterialStack(Aluminium, 2), new MaterialStack(Mercury, 1), new MaterialStack(Tin, 1), new MaterialStack(Titanium, 6), new MaterialStack(Osmiridium, 1)), CORE_METAL | DISABLE_DECOMPOSITION, null, 11465);
    public static final IngotMaterial HDCS = new IngotMaterial(720, "hdcs", 0x334433, MaterialIconSet.SHINY, 5, of(new MaterialStack(TungstenSteel, 12), new MaterialStack(HSSS, 9), new MaterialStack(HSSG, 6), new MaterialStack(Ruridit, 3), new MaterialStack(MagnetoResonatic, 2), new MaterialStack(Plutonium, 1)), CORE_METAL | DISABLE_DECOMPOSITION | GENERATE_ROUND, null, 9900);
    public static final IngotMaterial ProtoAdamantium = new IngotMaterial(716, "proto_adamantium", 0x4662d4, MaterialIconSet.SHINY, 7, of(new MaterialStack(Adamantium, 3), new MaterialStack(Promethium, 2)), CORE_METAL, null, 11244);
    public static final IngotMaterial TriniumTitanium = new IngotMaterial(715, "trinium_titanium", 0x9986a3, MaterialIconSet.SHINY, 7, of(new MaterialStack(Trinium, 2), new MaterialStack(Titanium, 1)), CORE_METAL, null, 11000);
    public static final IngotMaterial LithiumTitanate = new IngotMaterial(710, "lithium_titanate", 0xfe71a9, MaterialIconSet.SHINY, 5, of(new MaterialStack(Lithium, 2), new MaterialStack(Titanium, 1), new MaterialStack(Oxygen, 3)), GENERATE_PLATE | DISABLE_DECOMPOSITION | CORE_METAL | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 2500);
    public static final IngotMaterial Titanium50 = new IngotMaterial(708, "titanium50", Titanium.materialRGB, MaterialIconSet.SHINY, 5, of(), 0, null, 2000);
    public static final IngotMaterial ElectricallyImpureCopper = new IngotMaterial(705, "electrically_impure_copper", 0x765A30, MaterialIconSet.DULL, 2, of(new MaterialStack(Copper, 1), new MaterialStack(RareEarth, 1)), GENERATE_PLATE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial Polyurethane = new IngotMaterial(700, "polyurethane", 0xeffcef, MaterialIconSet.DULL, 2, of(new MaterialStack(Carbon, 17), new MaterialStack(Hydrogen, 16), new MaterialStack(Nitrogen, 2), new MaterialStack(Oxygen, 4)), EXCLUDE_BLOCK_CRAFTING_RECIPES | GENERATE_ROD | NO_SMASHING | DISABLE_DECOMPOSITION);
    public static final IngotMaterial ThoriumDopedTungsten = new IngotMaterial(699, "thoria_doped_tungsten", Tungsten.materialRGB, MaterialIconSet.SHINY, 2, of(new MaterialStack(Thorium, 1), new MaterialStack(Tungsten, 9)), GENERATE_ROD | GENERATE_FINE_WIRE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial WoodsGlass = new IngotMaterial(698, "woods_glass", 0x730099, MaterialIconSet.SHINY, 2, of(new MaterialStack(SiliconDioxide, 1), new MaterialStack(Barium, 1), new MaterialStack(Oxygen, 1), new MaterialStack(Garnierite, 1), new MaterialStack(SodaAsh, 1)), GENERATE_PLATE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial BariumTitanate = new IngotMaterial(697, "barium_titanate", 0x99FF99, MaterialIconSet.SHINY, 2, of(new MaterialStack(Barium, 1), new MaterialStack(Titanium, 1), new MaterialStack(Oxygen, 3)), GENERATE_FOIL | DISABLE_DECOMPOSITION);
    public static final IngotMaterial TantalumHafniumSeaborgiumCarbide = new IngotMaterial(695,"tantalum_hafnium_seaborgium_carbide",0x2c2c2c,MaterialIconSet.SHINY,6,of(new MaterialStack(Tantalum, 12), new MaterialStack(Hafnium, 3), new MaterialStack(Seaborgium, 1), new MaterialStack(Carbon, 16)),GENERATE_PLATE | EXCLUDE_BLOCK_CRAFTING_RECIPES | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE,null,5200);
    public static final IngotMaterial BismuthRuthenate = new IngotMaterial(694,"bismuth_ruthenate", 0x94cf5c, MaterialIconSet.DULL,2, of(new MaterialStack(Bismuth, 2), new MaterialStack(Ruthenium, 2), new MaterialStack(Oxygen, 7)) ,GENERATE_PLATE | DISABLE_AUTOGENERATED_MIXER_RECIPE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial BismuthIridiate = new IngotMaterial(693,"bismuth_iridiate", 0x478a6b, MaterialIconSet.DULL,22, of(new MaterialStack(Bismuth, 2), new MaterialStack(Iridium, 2), new MaterialStack(Oxygen, 7)) ,GENERATE_PLATE | DISABLE_AUTOGENERATED_MIXER_RECIPE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial PEDOT = new IngotMaterial(692,"pedot", 0x5cef20, MaterialIconSet.DULL,22,of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 6), new MaterialStack(Oxygen, 2), new MaterialStack(Sulfur, 1)), GENERATE_FINE_WIRE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial RutheniumDioxide = new IngotMaterial(691,"ruthenium_dioxide", RutheniumTetroxide.materialRGB, MaterialIconSet.DULL,2,of(new MaterialStack(Ruthenium, 1), new MaterialStack(Oxygen, 2)), GENERATE_PLATE | DISABLE_DECOMPOSITION);
    public static final IngotMaterial GermaniumTungstenNitride = new IngotMaterial(690,"germanium_tungsten_nitride", 0x8f8fcf, MaterialIconSet.DULL,2,of(new MaterialStack(Germanium,3), new MaterialStack(Tungsten,3),new MaterialStack(Nitrogen,10)),GENERATE_PLATE, null, 5400);
    public static final IngotMaterial LithiumNiobate = new IngotMaterial(685,"lithium_niobate",0xcfcf3a,MaterialIconSet.SHINY,6,of(new MaterialStack(Lithium, 1), new MaterialStack(Niobium, 1), new MaterialStack(Oxygen, 4)),GENERATE_PLATE | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null ,6700);
    public static final IngotMaterial HeavyQuarkDegenerateMatter = new IngotMaterial(682,"heavy_quark_degenerate_matter",0x5dbd3a,MaterialIconSet.SHINY,6,of(),CORE_METAL,null,13000);
    public static final IngotMaterial SuperheavyHAlloy = new IngotMaterial(675, "superheavy_h_alloy", 0xE84B36, MaterialIconSet.SHINY, 6, of(new MaterialStack(Copernicium, 1), new MaterialStack(Nihonium, 1), new MaterialStack(MetastableFlerovium, 1), new MaterialStack(Moscovium, 1), new MaterialStack(Livermorium, 1), new MaterialStack(Tennessine,1), new MaterialStack(MetastableOganesson, 1)), GENERATE_PLATE | DISABLE_DECOMPOSITION, null, 10600);
    public static final IngotMaterial SuperheavyLAlloy = new IngotMaterial(674, "superheavy_l_alloy", 0x2B45DF, MaterialIconSet.SHINY, 6, of(new MaterialStack(Rutherfordium, 1), new MaterialStack(Dubnium, 1), new MaterialStack(Seaborgium, 1), new MaterialStack(Bohrium, 1), new MaterialStack(MetastableHassium, 1), new MaterialStack(Meitnerium,1), new MaterialStack(Roentgenium, 1)), GENERATE_PLATE | DISABLE_DECOMPOSITION, null, 10600);
    public static final IngotMaterial QCDMatter = new IngotMaterial(673, "qcd_confined_matter", 0xeb9e3f, MaterialIconSet.SHINY, 7, of(), GENERATE_PLATE | DISABLE_REPLICATION | NO_WORKING | NO_SMELTING | NO_SMASHING | GENERATE_FRAME | GENERATE_ROD, null, 13100);
    public static final IngotMaterial Periodicium = new IngotMaterial(672, "periodicium", 0x3d4bf6, MaterialIconSet.SHINY, 6, of(new MaterialStack(Hydrogen, 1), new MaterialStack(Helium, 1), new MaterialStack(Lithium, 1), new MaterialStack(Beryllium, 1), new MaterialStack(Boron, 1), new MaterialStack(Carbon, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 1), new MaterialStack(Fluorine, 1), new MaterialStack(Neon, 1), new MaterialStack(Sodium, 1), new MaterialStack(Magnesium, 1), new MaterialStack(Aluminium, 1), new MaterialStack(Silicon, 1), new MaterialStack(Phosphorus, 1), new MaterialStack(Sulfur, 1), new MaterialStack(Chlorine, 1), new MaterialStack(Argon, 1), new MaterialStack(Potassium, 1), new MaterialStack(Calcium, 1), new MaterialStack(Scandium, 1), new MaterialStack(Titanium, 1), new MaterialStack(Vanadium, 1), new MaterialStack(Chrome, 1), new MaterialStack(Manganese, 1), new MaterialStack(Iron, 1), new MaterialStack(Cobalt, 1), new MaterialStack(Nickel, 1), new MaterialStack(Copper, 1), new MaterialStack(Zinc, 1), new MaterialStack(Gallium, 1), new MaterialStack(Germanium, 1), new MaterialStack(Arsenic, 1), new MaterialStack(Selenium, 1), new MaterialStack(Bromine, 1), new MaterialStack(Krypton, 1), new MaterialStack(Rubidium, 1), new MaterialStack(Strontium, 1), new MaterialStack(Yttrium, 1), new MaterialStack(Zirconium, 1), new MaterialStack(Niobium, 1), new MaterialStack(Molybdenum, 1), new MaterialStack(Technetium, 1), new MaterialStack(Ruthenium, 1), new MaterialStack(Rhodium, 1), new MaterialStack(Palladium, 1), new MaterialStack(Silver, 1), new MaterialStack(Cadmium, 1), new MaterialStack(Indium, 1), new MaterialStack(Tin, 1), new MaterialStack(Antimony, 1), new MaterialStack(Tellurium, 1), new MaterialStack(Iodine, 1), new MaterialStack(Xenon, 1), new MaterialStack(Caesium, 1), new MaterialStack(Barium, 1), new MaterialStack(Lanthanum, 1), new MaterialStack(Cerium, 1), new MaterialStack(Praseodymium, 1), new MaterialStack(Neodymium, 1), new MaterialStack(Promethium, 1), new MaterialStack(Samarium, 1), new MaterialStack(Europium, 1), new MaterialStack(Gadolinium, 1), new MaterialStack(Terbium, 1), new MaterialStack(Dysprosium, 1), new MaterialStack(Holmium, 1), new MaterialStack(Erbium, 1), new MaterialStack(Thulium, 1), new MaterialStack(Ytterbium, 1), new MaterialStack(Lutetium, 1), new MaterialStack(Hafnium, 1), new MaterialStack(Tantalum, 1), new MaterialStack(Tungsten, 1), new MaterialStack(Rhenium, 1), new MaterialStack(Osmium, 1), new MaterialStack(Iridium, 1), new MaterialStack(Platinum, 1), new MaterialStack(Gold, 1), new MaterialStack(Mercury, 1), new MaterialStack(Thallium, 1), new MaterialStack(Lead, 1), new MaterialStack(Bismuth, 1), new MaterialStack(Polonium, 1), new MaterialStack(Astatine, 1), new MaterialStack(Radon, 1), new MaterialStack(Francium, 1), new MaterialStack(Radium, 1), new MaterialStack(Actinium, 1), new MaterialStack(Thorium, 1), new MaterialStack(Protactinium.getMaterial(), 1), new MaterialStack(Uranium, 1), new MaterialStack(Neptunium.getMaterial(), 1), new MaterialStack(Plutonium, 1), new MaterialStack(Americium, 1), new MaterialStack(Curium.getMaterial(), 1), new MaterialStack(Berkelium.getMaterial(), 1), new MaterialStack(Californium.getMaterial(), 1), new MaterialStack(Einsteinium.getMaterial(), 1), new MaterialStack(Fermium.getMaterial(), 1), new MaterialStack(Mendelevium.getMaterial(), 1), new MaterialStack(Rutherfordium, 1), new MaterialStack(Dubnium, 1), new MaterialStack(Seaborgium, 1), new MaterialStack(Bohrium, 1), new MaterialStack(MetastableHassium, 1), new MaterialStack(Meitnerium, 1), new MaterialStack(Roentgenium, 1), new MaterialStack(Copernicium, 1), new MaterialStack(Nihonium, 1), new MaterialStack(MetastableFlerovium, 1), new MaterialStack(Moscovium, 1), new MaterialStack(Livermorium, 1), new MaterialStack(Tennessine, 1), new MaterialStack(MetastableOganesson, 1)), DISABLE_AUTOGENERATED_MIXER_RECIPE | DISABLE_DECOMPOSITION, null, 13500);
    public static final IngotMaterial CosmicNeutronium = new IngotMaterial(671,"cosmic_neutronium",0x323232,MaterialIconSet.SHINY,7,of(new MaterialStack(Neutronium, 1)), CORE_METAL | DISABLE_DECOMPOSITION,null,14100);
    public static final IngotMaterial NaquadriaticTaranium = new IngotMaterial(775, "naquadriatic_taranium", (Naquadria.materialRGB+Taranium.materialRGB) / 2, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Naquadria, 1), new MaterialStack(Taranium, 1)), STD_METAL | GENERATE_LONG_ROD, null, 11200);
    public static final IngotMaterial Polyimide = new IngotMaterial(992, "polyimide", 0xFF7F50, MaterialIconSet.DULL, 1, of(new MaterialStack(Carbon, 22), new MaterialStack(Hydrogen, 12), new MaterialStack(Nitrogen, 2), new MaterialStack(Oxygen, 6)), GENERATE_PLATE | FLAMMABLE | NO_SMASHING | SMELT_INTO_FLUID | DISABLE_DECOMPOSITION);
    public static final IngotMaterial FluorinatedEthylenePropylene = new IngotMaterial(988, "fluorinated_ethylene_propylene", 0xC8C8C8, MaterialIconSet.DULL, 1, of(new MaterialStack(Carbon, 5), new MaterialStack(Fluorine, 10)), GENERATE_PLATE | FLAMMABLE | NO_SMASHING | SMELT_INTO_FLUID | DISABLE_DECOMPOSITION);









    // SIMPLE FLUID MATERIALS
    public static final SimpleFluidMaterial NaquadricSolution = new SimpleFluidMaterial("naquadric_solution", 0x232225, "NqNO2");
    public static final SimpleFluidMaterial EnrichedNaquadricSolution = new SimpleFluidMaterial("enriched_naquadric_solution", 0x312735, "Nq+NO2");
    public static final SimpleFluidMaterial NaquadriaticSolution = new SimpleFluidMaterial("naquadriatic_solution", 0x312735, "*Nq*NO2");
    public static final SimpleFluidMaterial AntimonyPentafluoride = new SimpleFluidMaterial("antimony_pentafluoride", Antimony.materialRGB, "SbF5");
    public static final SimpleFluidMaterial FluoroantimonicAcid = new SimpleFluidMaterial("fluoroantimonic_acid", 0x8da2a5, "H2SbF7");
    public static final SimpleFluidMaterial FluoronaquadricAcid = new SimpleFluidMaterial("fluoronaquadric_acid", 0x485d60, "H2NqF4");
    public static final SimpleFluidMaterial EnrichedFluoronaquadricAcid = new SimpleFluidMaterial("enriched_fluoronaquadric_acid", 0x485d60, "H2Nq+F4");
    public static final SimpleFluidMaterial FluoronaquadriaticAcid = new SimpleFluidMaterial("fluoronaquadriatic_acid", 0x485d60, "H2*Nq*F4");
    public static final SimpleFluidMaterial NaquadahDifluoride = new SimpleFluidMaterial("naquadah_difluoride", 0x324649, "NqF2");
    public static final SimpleFluidMaterial EnrichedNaquadahDifluoride = new SimpleFluidMaterial("enriched_naquadah_difluoride", 0x141e1f, "Nq+F2");
    public static final SimpleFluidMaterial NaquadriaDifluoride = new SimpleFluidMaterial("naquadria_difluoride", 0x141e1f, "*Nq*F2");
    public static final SimpleFluidMaterial NaquadriaHexafluoride = new SimpleFluidMaterial("naquadria_hexafluoride", 0x111c27, "*Nq*F6");
    public static final SimpleFluidMaterial RadonDifluoride = new SimpleFluidMaterial("radon_difluoride", 0x9966ff, "RnF2");
    public static final SimpleFluidMaterial RadonNaquadriaoctafluoride = new SimpleFluidMaterial("radon_naquadriaoctafluoride", 0x111c27, "Rd*Nq*F8");
    public static final SimpleFluidMaterial XenonTrioxide = new SimpleFluidMaterial("xenon_trioxide", 0x432791, "XeO3");
    public static final SimpleFluidMaterial CesiumFluoride = new SimpleFluidMaterial("cesium_fluoride", 0xabab69, "CsF");
    public static final SimpleFluidMaterial CesiumXenontrioxideFluoride = new SimpleFluidMaterial("cesium_xenontrioxide_fluoride", 0x3333cc, "CsXeO3F");
    public static final SimpleFluidMaterial RadonTrioxide = new SimpleFluidMaterial("radon_trioxide", 0x9966ff, "RnO3");
    public static final SimpleFluidMaterial NaquadriaCesiumXenonNonfluoride = new SimpleFluidMaterial("naquadria_cesium_xenon_nonfluoride", 0x1c1c5e, "*Nq*CsXeF9");
    public static final SimpleFluidMaterial NitrylFluoride = new SimpleFluidMaterial("nitryl_fluoride", NitricOxide.materialRGB, "NO2F");
    public static final SimpleFluidMaterial NitrosoniumOctafluoroxenate = new SimpleFluidMaterial("nitrosonium_octafluoroxenate", 0x3f3f83, "(NO2)2XeF8");
    public static final SimpleFluidMaterial NaquadriaCesiumfluoride = new SimpleFluidMaterial("naquadria_cesiumfluoride", 0x636379, "*Nq*F2CsF");
    public static final SimpleFluidMaterial EnrichedNaquadahhexafluoride = new SimpleFluidMaterial("enriched_naquadahhexafluoride", 0x030330, "Nq+F6");
    public static final SimpleFluidMaterial EnrichedXenonHexafluoronaquadate = new SimpleFluidMaterial("enriched_xenon_hexafluoronaquadate", 0x1e1ec2, "XeNq+F6");
    public static final SimpleFluidMaterial AuricChloride = new SimpleFluidMaterial("auric_chloride", 0xdffb50, "Au2Cl6");
    public static final SimpleFluidMaterial BromineTrifluoride = new SimpleFluidMaterial("bromine_trifluoride", 0xfcde1d, "BrF3");
    public static final SimpleFluidMaterial XenoauricFluoroantimonicAcid = new SimpleFluidMaterial("xenoauric_fluoroantimonic_acid", 0x685b08, "XeAuSbF6");
    public static final SimpleFluidMaterial NaquadahSulfate = new SimpleFluidMaterial("naquadah_sulfate", 0x38330f, "NqSO4");
    public static final SimpleFluidMaterial NaquadahSolution = new SimpleFluidMaterial("naquadah_solution", 0x523b3a, "NqNH4NO3");
    public static final SimpleFluidMaterial ClearNaquadahLiquid = new SimpleFluidMaterial("clear_naquadah_liquid", 0xa89f9e, "Nq?");
    public static final SimpleFluidMaterial ComplicatedNaquadahGas = new SimpleFluidMaterial("complicated_naquadah_gas", 0x403d3d, "Nq??");
    public static final SimpleFluidMaterial ComplicatedHeavyNaquadah = new SimpleFluidMaterial("complicated_heavy_naquadah", 0x403d3d, "Nq??");
    public static final SimpleFluidMaterial ComplicatedMediumNaquadah = new SimpleFluidMaterial("complicated_medium_naquadah", 0x403d3d, "Nq??");
    public static final SimpleFluidMaterial ComplicatedLightNaquadah = new SimpleFluidMaterial("complicated_light_naquadah", 0x403d3d, "Nq??");
    public static final SimpleFluidMaterial NaquadahGas = new SimpleFluidMaterial("naquadah_gas", 0x575757, "Nq");
    public static final SimpleFluidMaterial LightNaquadah = new SimpleFluidMaterial("light_naquadah", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial MediumNaquadah = new SimpleFluidMaterial("medium_naquadah", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial HeavyNaquadah = new SimpleFluidMaterial("heavy_naquadah", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial FCrackedLightNaquadah = new SimpleFluidMaterial("fl_cracked_light_naquadah", 0x505e5b, "FlNq");
    public static final SimpleFluidMaterial FCrackedMediumNaquadah = new SimpleFluidMaterial("fl_cracked_medium_naquadah", 0x505e5b, "FlNq");
    public static final SimpleFluidMaterial FCrackedHeavyNaquadah = new SimpleFluidMaterial("fl_cracked_heavy_naquadah", 0x505e5b, "FlNq");
    public static final SimpleFluidMaterial LightNaquadahFuel = new SimpleFluidMaterial("light_naquadah_fuel", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial MediumNaquadahFuel = new SimpleFluidMaterial("medium_naquadah_fuel", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial HeavyNaquadahFuel = new SimpleFluidMaterial("heavy_naquadah_fuel", 0x2e2e2e, "Nq");
    public static final SimpleFluidMaterial AmmoniumNitrate = new SimpleFluidMaterial("ammonium_nitrate", Ammonia.materialRGB, "NH4NO3");
    public static final SimpleFluidMaterial ENaquadahSolution = new SimpleFluidMaterial("e_naquadah_solution", 0x523b3a, "Nq+?");
    public static final SimpleFluidMaterial ClearENaquadahLiquid = new SimpleFluidMaterial("clear_e_naquadah_liquid", 0xa89f9e, "Nq+?");
    public static final SimpleFluidMaterial ComplicatedHeavyENaquadah = new SimpleFluidMaterial("complicated_heavy_e_naquadah", 0x403d3d, "Nq+??");
    public static final SimpleFluidMaterial ComplicatedMediumENaquadah = new SimpleFluidMaterial("complicated_medium_e_naquadah", 0x403d3d, "Nq+??");
    public static final SimpleFluidMaterial ComplicatedLightENaquadah = new SimpleFluidMaterial("complicated_light_e_naquadah", 0x403d3d, "Nq+??");
    public static final SimpleFluidMaterial LightENaquadah = new SimpleFluidMaterial("light_e_naquadah", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial MediumENaquadah = new SimpleFluidMaterial("medium_e_naquadah", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial HeavyENaquadah = new SimpleFluidMaterial("heavy_e_naquadah", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial RnCrackedLightNaquadah = new SimpleFluidMaterial("rn_cracked_light_e_naquadah", 0x505e5b, "RnNq+");
    public static final SimpleFluidMaterial RnCrackedMediumENaquadah = new SimpleFluidMaterial("rn_cracked_medium_e_naquadah", 0x505e5b, "RnNq+");
    public static final SimpleFluidMaterial RnCrackedHeavyENaquadah = new SimpleFluidMaterial("rn_cracked_heavy_e_naquadah", 0x505e5b, "RnNq+");
    public static final SimpleFluidMaterial LightENaquadahFuel = new SimpleFluidMaterial("light_e_naquadah_fuel", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial MediumENaquadahFuel = new SimpleFluidMaterial("medium_e_naquadah_fuel", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial HeavyENaquadahFuel = new SimpleFluidMaterial("heavy_e_naquadah_fuel", 0x2e2e2e, "Nq+");
    public static final SimpleFluidMaterial NaquadriaSolution = new SimpleFluidMaterial("naquadria_solution", 0x523b3a, "Nq+");
    public static final SimpleFluidMaterial HyperFuelI = new SimpleFluidMaterial("hyper_fluid_i", 0xfaff5e, "Nq(Nq+)(*Nq*)RfPu");
    public static final SimpleFluidMaterial HyperFuelII = new SimpleFluidMaterial("hyper_fluid_ii", 0xd8db67, "Nq(Nq+)(*Nq*)DbCm");
    public static final SimpleFluidMaterial HyperFuelIII = new SimpleFluidMaterial("hyper_fluid_iii", 0x8f9146, "Nq(Nq+)(*Nq*)AdCf");
    public static final SimpleFluidMaterial HyperFuelIV = new SimpleFluidMaterial("hyper_fluid_iv", 0x4d4e31, "Nq(Nq+)(*Nq*)AdCfNtTn");
    public static final SimpleFluidMaterial AcidicSaltWater = new SimpleFluidMaterial("acidic_salt_water", 0x006960, "H2SO4(NaCl)3(H2O)3Cl2");
    public static final SimpleFluidMaterial SulfuricBromineSolution = new SimpleFluidMaterial("sulfuric_bromine_solution", 0xff5100, "H2SO4Br(H2O)Cl2");
    public static final SimpleFluidMaterial HotVapourMixture = new SimpleFluidMaterial("hot_vapour_mixture", 0xff5100, "H2SO4Br(H2O)2Cl2");
    public static final SimpleFluidMaterial DampBromine = new SimpleFluidMaterial("damp_bromine", 0xe17594, "Br(H2O)");
    public static final SimpleFluidMaterial Butyraldehyde = new SimpleFluidMaterial("butyraldehyde", 0xe7cf6e, "CH3(CH2)3CH(CH2CH3)CH2OH");
    public static final SimpleFluidMaterial Ethylhexanol = new SimpleFluidMaterial("ethylhexanol", 0xfeea9a, "C8H18O");
    public static final SimpleFluidMaterial DiethylhexylPhosphoricAcid = new SimpleFluidMaterial("di_ethylhexyl_phosphoric_acid", 0xffff99, "C16H35O4P");
    public static final SimpleFluidMaterial RareEarthHydroxidesSolution = new SimpleFluidMaterial("rare_earth_hydroxides_solution", 0xcfb37d, "NaOH(H2O)?(OH)3");
    public static final SimpleFluidMaterial RareEarthChloridesSolution = new SimpleFluidMaterial("rare_earth_chlorides_solution", 0x164b45, "(?Cl3)H2O");
    public static final SimpleFluidMaterial LaNdOxidesSolution = new SimpleFluidMaterial("la_nd_oxides_solution", 0x9ce3db, "(La2O3)(Pr2O3)(Nd2O3)(Ce2O3)");
    public static final SimpleFluidMaterial SmGdOxidesSolution = new SimpleFluidMaterial("sm_gd_oxides_solution", 0xffff99, "(Sc2O3)(Eu2O3)(Gd2O3)(Sm2O3)");
    public static final SimpleFluidMaterial TbHoOxidesSolution = new SimpleFluidMaterial("tb_ho_oxides_solution", 0x99ff99, "(Y2O3)(Tb2O3)(Dy2O3)(Ho2O3)");
    public static final SimpleFluidMaterial ErLuOxidesSolution = new SimpleFluidMaterial("er_lu_oxides_solution", 0xffb3ff, "(Er2O3)(Tm2O3)(Yb2O3)(Lu2O3)");
    public static final SimpleFluidMaterial SupercooledCryotheum = new SimpleFluidMaterial("supercooled_cryotheum", Cryotheum.materialRGB-10, of(new MaterialStack(Cryotheum, 1)));
    public static final SimpleFluidMaterial Turpentine = new SimpleFluidMaterial("turpentine", 0x93bd46, "C10H16");
    public static final SimpleFluidMaterial Acetylene = new SimpleFluidMaterial("acetylene", 0x959c60, "C2H2");
    public static final SimpleFluidMaterial Formaldehyde = new SimpleFluidMaterial("formaldehyde", 0x95a13a, "CH2O");
    public static final SimpleFluidMaterial PropargylAlcohol = new SimpleFluidMaterial("propargyl_alcohol", 0xbfb32a, "CHCCH2OH");
    public static final SimpleFluidMaterial PropargylChloride = new SimpleFluidMaterial("propargyl_chloride", 0x918924, "HC2CH2Cl");
    public static final SimpleFluidMaterial Citral = new SimpleFluidMaterial("citral", 0xf2e541, "C10H16O");
    public static final SimpleFluidMaterial BetaIonone = new SimpleFluidMaterial("beta_ionone", 0xdc5ce6, "C13H20O");
    public static final SimpleFluidMaterial VitaminA = new SimpleFluidMaterial("vitamin_a", 0x8d5c91, "C20H30O");
    public static final SimpleFluidMaterial EthyleneOxide = new SimpleFluidMaterial("ethylene_oxide", 0xa0c3de, "C2H4O");
    public static final SimpleFluidMaterial Ethanolamine = new SimpleFluidMaterial("ethanolamine", 0x6f7d87, "HOCH2CH2NH2");
    public static final SimpleFluidMaterial Biotin = new SimpleFluidMaterial("biotin", 0x68cc6a, "C10H16N2O3S");
    public static final SimpleFluidMaterial B27Supplement = new SimpleFluidMaterial("b27_supplement", 0x386939, "C142H230N36O44S");
    public static final SimpleFluidMaterial CleanAmmoniaSolution = new SimpleFluidMaterial("clear_ammonia_solution", 0x53c9a0, "NH3(H2O)");
    public static final SimpleFluidMaterial Catalase = new SimpleFluidMaterial("catalase", 0xdb6596, "?");
    public static final SimpleFluidMaterial Blood = new SimpleFluidMaterial("blood", 0x5c0606, "Blood");
    public static final SimpleFluidMaterial BloodCells = new SimpleFluidMaterial("blood_cells", 0xad2424, "???");
    public static final SimpleFluidMaterial BloodPlasma = new SimpleFluidMaterial("blood_plasma", 0xe37171, "???");
    public static final SimpleFluidMaterial BFGF = new SimpleFluidMaterial("bfgf", 0xb365e0, "bFGF");
    public static final SimpleFluidMaterial EGF = new SimpleFluidMaterial("egf", 0x815799, "C257H381N73O83S7");
    public static final SimpleFluidMaterial NitroBenzene = new SimpleFluidMaterial("nitro_benzene", 0x81c951, "C6H5NO2");
    public static final SimpleFluidMaterial Aniline = new SimpleFluidMaterial("aniline", 0x4c911d, "C6H5NH2");
    public static final SimpleFluidMaterial ChlorosulfonicAcid = new SimpleFluidMaterial("chlorosulfonic_acid", 0x916c1d, "HSO3Cl");
    public static final SimpleFluidMaterial Sulfanilamide = new SimpleFluidMaterial("sulfanilamide", 0x523b0a, "C6H8N2O2S");
    public static final SimpleFluidMaterial SilicaGelBase = new SimpleFluidMaterial("silica_gel_base", 0x27a176, "SiO2(HCl)(NaOH)(H2O)");
    public static final SimpleFluidMaterial Ethanol100 = new SimpleFluidMaterial("ethanol_100", Ethanol.materialRGB, "C2H5OH");
    public static final SimpleFluidMaterial PiranhaSolution = new SimpleFluidMaterial("piranha_solution", 0x4820ab, "(H2SO4)H2O2");
    public static final SimpleFluidMaterial WaterAgarMix = new SimpleFluidMaterial("water_agar_mix", 0x48dbbe, "H2O?");
    public static final SimpleFluidMaterial BacterialGrowthMedium = new SimpleFluidMaterial("bacterial_growth_medium", 0x0b2e12, "For Bacteria");
    public static final SimpleFluidMaterial DepletedGrowthMedium = new SimpleFluidMaterial("depleted_growth_medium", 0x071209, "Depleted");
    public static final SimpleFluidMaterial AnimalCells = new SimpleFluidMaterial("animal_cells", 0xc94996, "???");
    public static final SimpleFluidMaterial RapidlyReplicatingAnimalCells = new SimpleFluidMaterial("rapidly_replicating_animal_cells", 0x7a335e, TextFormatting.OBFUSCATED + "????");
    public static final SimpleFluidMaterial MycGene = new SimpleFluidMaterial("myc_gene", 0x445724, "?");
    public static final SimpleFluidMaterial Oct4Gene = new SimpleFluidMaterial("oct_4_gene", 0x374f0d, "?");
    public static final SimpleFluidMaterial SOX2Gene = new SimpleFluidMaterial("sox_2_gene", 0x5d8714, "?");
    public static final SimpleFluidMaterial KFL4Gene = new SimpleFluidMaterial("kfl_4_gene", 0x759143, "?");
    public static final SimpleFluidMaterial Cas9 = new SimpleFluidMaterial("cas_9", 0x5f6e46, "?");
    public static final SimpleFluidMaterial GenePlasmids = new SimpleFluidMaterial("pluripotency_induction_gene_plasmids", 0xabe053, "?");
    public static final SimpleFluidMaterial Chitin = new SimpleFluidMaterial("chitin", 0xcbd479, "?");
    public static final SimpleFluidMaterial Chitosan = new SimpleFluidMaterial("chitosan", 0xb1bd42, "?");
    public static final SimpleFluidMaterial GeneTherapyFluid = new SimpleFluidMaterial("pluripotency_induction_gene_therapy_fluid", 0x6b2f66, "?");
    public static final SimpleFluidMaterial Resin = new SimpleFluidMaterial("resin", 0x3d2f11, "?");
    public static final SimpleFluidMaterial LinoleicAcid = new SimpleFluidMaterial("linoleic_acid", 0xD5D257, "C18H32O2");
    public static final SimpleFluidMaterial SiliconFluoride = new SimpleFluidMaterial("silicon_fluoride", 0xB2B4B4, "SiF4");
    public static final SimpleFluidMaterial CarbonFluoride = new SimpleFluidMaterial("carbone_fluoride", 0xE6E6E6, "CF4");
    public static final SimpleFluidMaterial PhosphorusTrichloride = new SimpleFluidMaterial("phosphorus_trichloride", (Phosphorus.materialRGB+Chlorine.materialRGB)/2, "PCl3");
    public static final SimpleFluidMaterial PhosphorylChloride = new SimpleFluidMaterial("phosphoryl_chloride", 0xE6E6E6, "POCl3");
    public static final SimpleFluidMaterial TributylPhosphate = new SimpleFluidMaterial("tributyl_phosphate", 0x7C5B2C, "(C4H9)3PO4");
    public static final SimpleFluidMaterial Butanol = new SimpleFluidMaterial("butanol", (FermentedBiomass.materialRGB+20), "C4H9OH");
    public static final SimpleFluidMaterial RedOil = new SimpleFluidMaterial("red_oil", 0x7C1500, "H2N4(RP-1)NiZnFe4");
    public static final SimpleFluidMaterial HydrogenCyanide = new SimpleFluidMaterial("hydrogen_cyanide", 0xb6d1ae, "HCN");
    public static final SimpleFluidMaterial SodiumCyanide = new SimpleFluidMaterial("sodium_cyanide", 0x5f7c8c, "NaCN");
    public static final SimpleFluidMaterial GoldCyanide = new SimpleFluidMaterial("gold_cyanide", 0x8c8761, "AuCN");
    public static final SimpleFluidMaterial ChlorideLeachedSolution = new SimpleFluidMaterial("chloride_leached_solution", 0x41472e, "CaCl2(CuCl2)(PbCl2)(BiCl3)(FeCl2)");
    public static final SimpleFluidMaterial MolybdenumFlue = new SimpleFluidMaterial("molybdenum_flue_gas", 0x333338, "H2OReS?");
    public static final SimpleFluidMaterial RheniumSulfuricSolution = new SimpleFluidMaterial("rhenium_sulfuric_solution", 0xbabaff, "ReS?");
    public static final SimpleFluidMaterial AmmoniumSulfate = new SimpleFluidMaterial("ammonium_sulfate", 0x6464f5, AMMONIUM.formulaGroup(2)+SULFATE.formula());
    public static final SimpleFluidMaterial AmmoniumPerrhenate = new SimpleFluidMaterial("ammonium_perrhenate", 0x1c1c45, AMMONIUM.formula()+"Re"+OXIDE4.formula());
    public static final SimpleFluidMaterial ElectronDegenerateRheniumPlasma = new SimpleFluidMaterial("degenerate_rhenium_plasma", 0x6666FF, "Rh", false, true);
    public static final SimpleFluidMaterial LiquidHelium = new SimpleFluidMaterial("liquid_helium", Helium.materialRGB, 4, false, "He");
    public static final SimpleFluidMaterial BoricAcid = new SimpleFluidMaterial("boric_acid", 0xD5D2D7, "H3BO3");
    public static final SimpleFluidMaterial FluoroBoricAcid = new SimpleFluidMaterial("fluoroboric_acid", 0xD5D2D7, "HBF4");
    public static final SimpleFluidMaterial BenzenediazoniumTetrafluoroborate = new SimpleFluidMaterial("benzenediazonium_tetrafluoroborate", 0xD5D2D7, "C6H5BF4N2");
    public static final SimpleFluidMaterial BoronFluoride = new SimpleFluidMaterial("boron_fluoride", 0xD5D2D7, "BF3");
    public static final SimpleFluidMaterial FluoroBenzene = new SimpleFluidMaterial("fluoro_benzene", 0xD5D2D7, "C6H5F");
    public static final SimpleFluidMaterial SodiumNitrateSolution = new SimpleFluidMaterial("sodium_nitrate_solution", 0xA09ED7, WATER.formulaGroup()+"NaNO3");
    public static final SimpleFluidMaterial Fluorotoluene = new SimpleFluidMaterial("fluorotoluene", 0xE0DA99, "C7H7F");
    public static final SimpleFluidMaterial OrthoXylene = new SimpleFluidMaterial("ortho_xylene", 0xB9575E, "C6H4(CH3)2");
    public static final SimpleFluidMaterial OrthoXyleneZeoliteMixture = new SimpleFluidMaterial("ortho_xylene_zeolite", 0xB9785E, "(NaC4Si27Al9(H2O)28O72)C6H4(CH3)2");
    public static final SimpleFluidMaterial ParaXylene = new SimpleFluidMaterial("para_xylene", 0xB9575E, "C6H4(CH3)2");
    public static final SimpleFluidMaterial Dibromomethylbenzene = new SimpleFluidMaterial("dibromomethylbenzene", 0x0A1D2C, "C7H6Br2");
    public static final SimpleFluidMaterial AceticAnhydride = new SimpleFluidMaterial("acetic_anhydride", 0xD5DDDF, "(CH3CO)2O");
    public static final SimpleFluidMaterial Isochloropropane = new SimpleFluidMaterial("isochloropropane", 0xD5DD95, "CH3CClCH3");
    public static final SimpleFluidMaterial Resorcinol = new SimpleFluidMaterial("resorcinol", 0xD5DDBE, "C6H6O2");
    public static final SimpleFluidMaterial Dinitrodipropanyloxybenzene = new SimpleFluidMaterial("dinitrodipropanyloxybenzene", 0x83945F, "C12H16O2(NO2)2");
    public static final SimpleFluidMaterial Naphthaldehyde = new SimpleFluidMaterial("napthaldehyde", 0xBCA853, "C10H7CHO");
    public static final SimpleFluidMaterial HydrobromicAcid = new SimpleFluidMaterial("hydrobromic_acid", 0xBC6C53, "HBr");
    public static final SimpleFluidMaterial ThionylChloride = new SimpleFluidMaterial("thionyl_chloride", 0xF9F7E5, "SOCl2");
    public static final SimpleFluidMaterial Diisopropylcarbodiimide = new SimpleFluidMaterial("diisopropylcarbodiimide", 0xA0CFFE, "C7H14N2");
    public static final SimpleFluidMaterial Pyridine = new SimpleFluidMaterial("pyridine", (Ammonia.materialRGB+Formaldehyde.rgb)/2, "C5H5N");
    public static final SimpleFluidMaterial Phenylpentanoicacid = new SimpleFluidMaterial("phenylpentanoicacid", (Butene.materialRGB+CarbonMonoxde.materialRGB)/2, "C11H14O2");
    public static final SimpleFluidMaterial Dimethylsulfide = new SimpleFluidMaterial("dimethylsulfide", (Methanol.materialRGB+HydrogenSulfide.materialRGB)/2, "(CH3)2S");
    public static final SimpleFluidMaterial BenzoylChloride = new SimpleFluidMaterial("benzoyl_chloride", (Toluene.materialRGB+ThionylChloride.rgb)/2, "C7H5ClO");
    public static final SimpleFluidMaterial Silvertetrafluoroborate = new SimpleFluidMaterial("silvertetrafluoroborate", (SilverOxide.materialRGB+BoronFluoride.rgb)/2, "AgBF4");
    public static final SimpleFluidMaterial PCBA = new SimpleFluidMaterial("pcba", (Chlorobenzene.materialRGB+Dimethylsulfide.rgb+Phenylpentanoicacid.rgb)/3, "C72H14O2");
    public static final SimpleFluidMaterial PCBS = new SimpleFluidMaterial("pcbs", (Styrene.materialRGB+PCBA.rgb-40)/2, "C80H21O2");
    public static final SimpleFluidMaterial Ferrocene = new SimpleFluidMaterial("ferrocene", (Water.materialRGB+Chlorine.materialRGB+Iron.materialRGB)/3, "C10H10Fe");
    public static final SimpleFluidMaterial Ferrocenylfulleropyrrolidine = new SimpleFluidMaterial("ferrocenylfulleropyrddolidine", (Ferrocene.rgb+Ethylene.materialRGB+ CarbonMonoxde.materialRGB)/3, "C74H19FeN");
    public static final SimpleFluidMaterial Hydroquinone = new SimpleFluidMaterial("hydroquinone", (Oxygen.materialRGB+Propene.materialRGB)/2, "C6H4(OH)2");
    public static final SimpleFluidMaterial SodiumAcetate = new SimpleFluidMaterial("sodium_acetate", (Sodium.materialRGB+AceticAnhydride.rgb)/2, "C2H3NaO2");
    public static final SimpleFluidMaterial PotassiumHydroxide = new SimpleFluidMaterial("potassium_hydroxide", (Potassium.materialRGB+Hydrogen.materialRGB+Oxygen.materialRGB)/3, "KOH");
    public static final SimpleFluidMaterial Methylamine = new SimpleFluidMaterial("methylamine", (Methanol.materialRGB+Ammonia.materialRGB)/2, "CH3NH2");
    public static final SimpleFluidMaterial Phosgene = new SimpleFluidMaterial("phosgene", (Chlorine.materialRGB+CarbonMonoxde.materialRGB)/2, "COCl2");
    public static final SimpleFluidMaterial IsopropylAlcohol = new SimpleFluidMaterial("isopropyl_alcohol", (Water.materialRGB+Propene.materialRGB)/2, "C3H8O");
    public static final SimpleFluidMaterial VanadiumWasteSolution = new SimpleFluidMaterial("vanadium_waste_solution", 0xbf95f5, "NaCl(Na2SO4)(SiO2)(Al(OH)3)");
    public static final SimpleFluidMaterial UranylChlorideSolution = new SimpleFluidMaterial("uranyl_chloride_solution", 0xdfe018, "UO2Cl2(H2O)?");
    public static final SimpleFluidMaterial UranylNitrateSolution = new SimpleFluidMaterial("uranyl_nitrate_solution", 0xdfe018, "UO2(NO3)2(H2O)?]");
    public static final SimpleFluidMaterial UraniumSulfateWasteSolution = new SimpleFluidMaterial("uranium_sulfate_waste_solution", 0xdfe018, "PbRaSr(H2SO4)");
    public static final SimpleFluidMaterial PurifiedUranylNitrate = new SimpleFluidMaterial("purified_uranyl_nitrate_solution", 0xeff028, "UO2(NO3)2(H2O)");
    public static final SimpleFluidMaterial UraniumDiuranate = new SimpleFluidMaterial("uranium_diuranate", 0xeff028, "(NH4)2U2O7");
    public static final SimpleFluidMaterial UraniumRefinementWasteSolution = new SimpleFluidMaterial("uranium_refinement_waste_solution", 0xeff028, "H2SO4C?");
    public static final SimpleFluidMaterial ThoriumNitrateSolution = new SimpleFluidMaterial("thorium_nitrate_solution", 0x33bd45, "Th(NO3)4(H2O)");
    public static final SimpleFluidMaterial SodiumHexafluoroaluminate = new SimpleFluidMaterial("sodium_hexafluoroaluminate", (Sodium.materialRGB+Aluminium.materialRGB+Fluorine.materialRGB)/3, "Na3AlF6");
    public static final SimpleFluidMaterial SodiumCarbonateSolution = new SimpleFluidMaterial("sodium_carbonate_solution", (SodaAsh.materialRGB+30), "Na2CO3(H2O)");
    public static final SimpleFluidMaterial SodiumSulfateSolution = new SimpleFluidMaterial("sodium_sulfate_solution", (SodiumSulfate.materialRGB+30), "Na2SO4(H2O) ");
    public static final SimpleFluidMaterial SodiumChromateSolution = new SimpleFluidMaterial("sodium_chromate_solution", 0xf2e70f, "Na2CrO4(H2O)");
    public static final SimpleFluidMaterial SodiumDichromateSolution = new SimpleFluidMaterial("sodium_dichromate_solution", 0xf2750f, "Na2Cr2O7");
    public static final SimpleFluidMaterial RichNitrogenMix = new SimpleFluidMaterial("rich_nitrogen_mix", 0x6891d8, "H2O(CH4)?");
    public static final SimpleFluidMaterial OxidisedNitrogenMix = new SimpleFluidMaterial("oxidised_nitrogen_mix", 0x708ACD, "(H2O)2(CH4)??");
    public static final SimpleFluidMaterial PurifiedNitrogenMix = new SimpleFluidMaterial("purified_nitrogen_mix", 0x6891d8, "(H2O)2(CH4)?");
    public static final SimpleFluidMaterial CarbonatedEthanolamine = new SimpleFluidMaterial("carbonated_ethanolamine", 0x6f7d87, "H2NCH2CH2OHC");
    public static final SimpleFluidMaterial AmmoniaRichMix = new SimpleFluidMaterial("ammonia_rich_mix", 0x2f5d99, "NH3((H2O)2(CH4)?)");
    public static final SimpleFluidMaterial DissolvedLithiumOre = new SimpleFluidMaterial("dissolved_lithium_ores", 0x664850, "LiAlO2(H2SO4)");
    public static final SimpleFluidMaterial LithiumCarbonateSolution = new SimpleFluidMaterial("lithium_carbonate_solution", (Lithium.materialRGB+Carbon.materialRGB+Oxygen.materialRGB)/3, "Li2CO3(H2O)");
    public static final SimpleFluidMaterial LithiumChlorideSolution = new SimpleFluidMaterial("lithium_chloride_solution", (Lithium.materialRGB+Chlorine.materialRGB), "LiCl(H2O)");
    public static final SimpleFluidMaterial CalicheIodateBrine = new SimpleFluidMaterial("caliche_iodate_brine", 0xffe6660, "(H2O)NaNO3KNO3KClNaIO3");
    public static final SimpleFluidMaterial IodideSolution = new SimpleFluidMaterial("iodide_solution", 0x08081c, "(H2O)NaNO3KNO3KClNaI");
    public static final SimpleFluidMaterial CalicheNitrateSolution = new SimpleFluidMaterial("caliche_nitrate_solution", 0xffe6660, "(H2O)NaNO3KNO3KClNaOH");
    public static final SimpleFluidMaterial CalicheIodineBrine = new SimpleFluidMaterial("caliche_iodine_brine", 0xffe6660, "(H2O)NaNO3KNO3KClNaOHI");
    public static final SimpleFluidMaterial KeroseneIodineSolution = new SimpleFluidMaterial("kerosene_iodine_solution", 0x08081c, "C12H26I");
    public static final SimpleFluidMaterial IodizedBrine = new SimpleFluidMaterial("iodized_brine", 0x525242, "I?");
    public static final SimpleFluidMaterial IodineBrineMix = new SimpleFluidMaterial("iodine_brine_mix", 0x525242, "I??");
    public static final SimpleFluidMaterial IodineSlurry = new SimpleFluidMaterial("iodine_slurry", 0x08081c, "I?");
    public static final SimpleFluidMaterial Brine = new SimpleFluidMaterial("brine", 0xfcfc8a, "?");
    public static final SimpleFluidMaterial MesitylOxide = new SimpleFluidMaterial("mesityl_oxide", Acetone.materialRGB-10, "C6H10O");
    public static final SimpleFluidMaterial MethylIsobutylKetone = new SimpleFluidMaterial("methyl_isobutyl_ketone", (MesitylOxide.rgb+WaterAgarMix.rgb)/2, "C6H12O");
    public static final SimpleFluidMaterial ThiocyanicAcid = new SimpleFluidMaterial("thiocyanic_acid", 0xfcfc30, "HSCN");
    public static final SimpleFluidMaterial ZrHfSeparationMix = new SimpleFluidMaterial("zrhf_separation_mix", 0xfcfc95, "?");
    public static final SimpleFluidMaterial ZrHfChloride = new SimpleFluidMaterial("zrhf_chloride", 0x51d351, "ZrHfCl4");
    public static final SimpleFluidMaterial ZrHfOxyChloride = new SimpleFluidMaterial("zrhf_oxychloride", 0x51d351, "Cl2HfOZr");
    public static final SimpleFluidMaterial ZirconChlorinatingResidue = new SimpleFluidMaterial("zircon_chlorinating_residue", 0x51d351, "(SiCl4)Co?");
    public static final SimpleFluidMaterial ZincExhaustMixture = new SimpleFluidMaterial("zinc_exhaust_mixture", (CarbonDioxide.materialRGB+SulfurDioxide.materialRGB)/2, "(SO2)(CO2)?");
    public static final SimpleFluidMaterial ZincSlagSlurry = new SimpleFluidMaterial("zinc_slag_slurry", (Zinc.materialRGB-20), "H2O?");
    public static final SimpleFluidMaterial MetalRichSlagSlurry = new SimpleFluidMaterial("metal_slag_slurry", (Zinc.materialRGB-10), "?");
    public static final SimpleFluidMaterial AcidicMetalSlurry = new SimpleFluidMaterial("acidic_metal_slurry", (Zinc.materialRGB-10+PhosphoricAcid.materialRGB)/2, "H3PO4?");
    public static final SimpleFluidMaterial SeparatedMetalSlurry = new SimpleFluidMaterial("separated_metal_slurry", (Zinc.materialRGB-20), "H3PO4?");
    public static final SimpleFluidMaterial MetalHydroxideMix = new SimpleFluidMaterial("metal_hydroxide_mix", (Zinc.materialRGB-30), "?ZnOH");
    public static final SimpleFluidMaterial ZincPoorMix = new SimpleFluidMaterial("zinc_poor_mix", (Iron.materialRGB-10), "?Fe");
    public static final SimpleFluidMaterial IronPoorMix = new SimpleFluidMaterial("iron_poor_mix", (Copper.materialRGB+10), "?In");
    public static final SimpleFluidMaterial IndiumHydroxideConcentrate = new SimpleFluidMaterial("indium_hydroxide_concentrate", (Indium.materialRGB+Hydrogen.materialRGB+10)/2, "In(OH)3");
    public static final SimpleFluidMaterial CadmiumThalliumLiquor = new SimpleFluidMaterial("cdtl_liquor", (Cadmium.materialRGB+Thallium.materialRGB+RareEarth.materialRGB)/3, "(H2SO4)CdTl");
    public static final SimpleFluidMaterial ZincAmalgam = new SimpleFluidMaterial("zinc_amalgam", (Zinc.materialRGB-20), "ZnHg");
    public static final SimpleFluidMaterial CadmiumSulfateSolution = new SimpleFluidMaterial("cadmium_sulfate", (Cadmium.materialRGB+SulfuricAcid.materialRGB)/2, "CdSO4?");
    public static final SimpleFluidMaterial ThalliumSulfateSolution = new SimpleFluidMaterial("thallium_sulfate", (Thallium.materialRGB+SulfuricAcid.materialRGB)/2, "Tl2SO4?");
    public static final SimpleFluidMaterial PolyphenolMix = new SimpleFluidMaterial("polyphenol_mix", (Phenol.materialRGB+10), "?");
    public static final SimpleFluidMaterial AcidifiedPolyphenolMix = new SimpleFluidMaterial("acidified_polyphenol_mix", (PolyphenolMix.rgb+SulfuricAcid.materialRGB)/2, "?");
    public static final SimpleFluidMaterial Diethylether = new SimpleFluidMaterial("diethylether", AcidifiedPolyphenolMix.rgb-20, "(C2H5)2O");
    public static final SimpleFluidMaterial TannicAcid = new SimpleFluidMaterial("tannic_acid", (Diethylether.rgb+AcidifiedPolyphenolMix.rgb)/4, "C76H52O46");
    public static final SimpleFluidMaterial GermanicAcidSolution = new SimpleFluidMaterial("germanic_acid_solution", (Germanium.materialRGB-10), "H4GeO4");
    public static final SimpleFluidMaterial GermaniumChloride = new SimpleFluidMaterial("germanium_chloride", (Germanium.materialRGB+Chlorine.materialRGB)/2, "GeCl4");
    public static final SimpleFluidMaterial SodiumHydroxideSolution = new SimpleFluidMaterial("sodium_hydroxide_solution", SodiumHydroxide.materialRGB+50, "(H2O)NaOH");
    public static final SimpleFluidMaterial LithiumHydroxideSolution = new SimpleFluidMaterial("lithium_hydroxide_solution", (Lithium.materialRGB+Oxygen.materialRGB+Hydrogen.materialRGB)/3, "(H2O)LiOH");
    public static final SimpleFluidMaterial LithiumPeroxideSolution = new SimpleFluidMaterial("lithium_peroxide", (Lithium.materialRGB+Oxygen.materialRGB)/2, "(H2O)Li2O2");
    public static final SimpleFluidMaterial Ozone = new SimpleFluidMaterial("ozone", 0x0099FF, "O3");
    public static final SimpleFluidMaterial NitrogenPentoxide = new SimpleFluidMaterial("nitrogen_pentoxide", 0x0033C0, "N2O5");
    public static final SimpleFluidMaterial NitrousOxide = new SimpleFluidMaterial("nitrous_oxide", 0x2e628b, "N2O");
    public static final SimpleFluidMaterial AcryloNitrile = new SimpleFluidMaterial("acrylonitrile", 0x9999ff, "CH2CHCN");
    public static final SimpleFluidMaterial SodiumThiocyanate = new SimpleFluidMaterial("sodium_thiocyanate", (Sodium.materialRGB+Sulfur.materialRGB)/2, "NaSCN");
    public static final SimpleFluidMaterial PolyacrylonitrileSolution = new SimpleFluidMaterial("polyacrylonitrile_solution", 0x9999ff, "(C3H3N)n(NaSCN)");
    public static final SimpleFluidMaterial MethylFormate = new SimpleFluidMaterial("methyl_formate", 0Xff9999, "HCOOCH3");
    public static final SimpleFluidMaterial WetFormamide = new SimpleFluidMaterial("wet_formamide", 0x33CCFF, "(H2O)CH3NO");
    public static final SimpleFluidMaterial Formamide = new SimpleFluidMaterial("formamide", 0x33CCFF, "CH3NO");
    public static final SimpleFluidMaterial HydroxylamineDisulfate = new SimpleFluidMaterial("hydroxylamine_disulfate", 0x99add6, "(NH3OH)2(NH4)2(SO4)2");
    public static final SimpleFluidMaterial Hydroxylamine = new SimpleFluidMaterial("hydroxylamine", 0x99cc99, "H3NO");
    public static final SimpleFluidMaterial Amidoxime = new SimpleFluidMaterial("amidoxime", 0x66ff33, "H3N2O(CH)");
    public static final SimpleFluidMaterial PureUranylNitrateSolution = new SimpleFluidMaterial("pure_uranyl_nitrate", 0x33bd45, "(H2O)UO2(NO3)2");
    public static final SimpleFluidMaterial CarbonSulfide = new SimpleFluidMaterial("carbon_sulfide", 0x40ffbf, "CS2");
    public static final SimpleFluidMaterial AmineMixture = new SimpleFluidMaterial("amine_mixture", (Methanol.materialRGB-20+Ammonia.materialRGB-10)/2, "(NH3)CH4");
    public static final SimpleFluidMaterial DimethylthiocarbamoilChloride = new SimpleFluidMaterial("dimethylthiocarbamoil_chloride", 0xd9ff26, "(CH3)2NC(S)Cl");
    public static final SimpleFluidMaterial Trimethylamine = new SimpleFluidMaterial("trimetylamine", (Dimethylamine.materialRGB+20), "(CH3)3N");
    public static final SimpleFluidMaterial Mercaptophenol = new SimpleFluidMaterial("mercaptophenol", 0xbaaf18, "C6H6OS");
    public static final SimpleFluidMaterial Dimethylformamide = new SimpleFluidMaterial("dimethylformamide", 0x42bdff, "(CH3)2NCH");
    public static final SimpleFluidMaterial Oct1ene = new SimpleFluidMaterial("1_octene", 0x7e8778, "C8H16");
    public static final SimpleFluidMaterial CetaneTrimethylAmmoniumBromide = new SimpleFluidMaterial("cetane_trimethyl_ammonium_bromide", 0xb9c1c9, "C19H42BrN");
    public static final SimpleFluidMaterial AmmoniumPersulfate = new SimpleFluidMaterial("ammonium_persulfate", 0x6464f5, "(NH4)2S2O8");
    public static final SimpleFluidMaterial DebrominatedWater = new SimpleFluidMaterial("debrominated_brine", 0x0000ff, WATER.formula());
    public static final SimpleFluidMaterial SeaWater = new SimpleFluidMaterial("sea_water", 0x0000FF, WATER.formula()+"?");
    public static final SimpleFluidMaterial ConcentratedBrine = new SimpleFluidMaterial("concentrated_brine", 0xfcfc95, "?");
    public static final SimpleFluidMaterial CalciumFreeBrine = new SimpleFluidMaterial("calcium_free_brine", 0xfcfca6, "?");
    public static final SimpleFluidMaterial SodiumFreeBrine = new SimpleFluidMaterial("sodium_free_brine", 0xfcfcb1, "?");
    public static final SimpleFluidMaterial PotassiumFreeBrine = new SimpleFluidMaterial("potassium_free_brine", 0xfcfcbc, "?");
    public static final SimpleFluidMaterial BoronFreeSolution = new SimpleFluidMaterial("boron_free_solution", 0xfcfccd, "?");
    public static final SimpleFluidMaterial SodiumLithiumSolution = new SimpleFluidMaterial("sodium_lithium_solution", 0xfcfccd, "NaLi?");
    public static final SimpleFluidMaterial ChilledBrine = new SimpleFluidMaterial("chilled_brine", 0xfcfc95, "?");
    public static final SimpleFluidMaterial MagnesiumContainingBrine = new SimpleFluidMaterial("magnesium_containing_brine", 0xfcfcbc, "Mg?");
    public static final SimpleFluidMaterial BrominatedBrine = new SimpleFluidMaterial("brominated_brine", 0xfdd48d, "Br?");
    public static final SimpleFluidMaterial AcidicBrominatedBrine = new SimpleFluidMaterial("acidic_brominated_brine", 0xfdd48d, "(H2SO4)Cl?");
    public static final SimpleFluidMaterial ButylLithium = new SimpleFluidMaterial("butyl_lithium", (Butane.materialRGB+Lithium.materialRGB)/2, "C4H9Li");
    public static final SimpleFluidMaterial Acetaldehyde = new SimpleFluidMaterial("acetaldehyde", 0xFF9933, "C2H4O");
    public static final SimpleFluidMaterial Benzaldehyde = new SimpleFluidMaterial("benzaldehyde", 0xb26f22, "C7H6O");
    public static final SimpleFluidMaterial Dibenzylideneacetone = new SimpleFluidMaterial("dibenzylideneacetone", 0Xcc6699, "C17H14O");
    public static final SimpleFluidMaterial TrimethyltinChloride = new SimpleFluidMaterial("trimethyltin_chloride", 0x8c8075, "(CH3)3SnCl");
    public static final SimpleFluidMaterial ChloroPlatinicAcid = new SimpleFluidMaterial("chloroplatinic_acid", 0xffba54, "H2PtCl6");
    public static final SimpleFluidMaterial Cyclooctadiene = new SimpleFluidMaterial("cyclooctadiene", 0x33CC33, "C8H12");
    public static final SimpleFluidMaterial Cycloparaphenylene = new SimpleFluidMaterial("cycloparaphenylene", 0x333333, "CPP");
    public static final SimpleFluidMaterial SuperheavyMix = new SimpleFluidMaterial("superheavy_mix", 0x403737, "SgBhRfDb");
    public static final SimpleFluidMaterial NeutronPlasma = new SimpleFluidMaterial("neutron_plasma", 0xf0e9e9, "n");
    public static final SimpleFluidMaterial HotMetastableOganesson = new SimpleFluidMaterial("hot_oganesson", 0x521973, "Og");
    public static final SimpleFluidMaterial TitaniumTetrafluoride = new SimpleFluidMaterial("titanium_tetrafluoride", Titanium.materialRGB);
    public static final SimpleFluidMaterial Titanium50Tetrafluoride = new SimpleFluidMaterial("titanium50_tetrafluoride", Titanium.materialRGB);
    public static final SimpleFluidMaterial Carbon12 = new SimpleFluidMaterial("carbon_12", Carbon.materialRGB, "C_12");
    public static final SimpleFluidMaterial Carbon13 = new SimpleFluidMaterial("carbon_13", Carbon.materialRGB, "C_13");
    public static final SimpleFluidMaterial Nitrogen14 = new SimpleFluidMaterial("nitrogen_14", Nitrogen.materialRGB, "N_14");
    public static final SimpleFluidMaterial NItrogen15 = new SimpleFluidMaterial("nitrogen_15", Nitrogen.materialRGB, "N_15");
    public static final SimpleFluidMaterial CNOcatalyst = new SimpleFluidMaterial("cno_catalyst", (Nitrogen.materialRGB + Carbon.materialRGB) / 2, "(C_12)(C_13)(N_14)(N_15)");
    public static final SimpleFluidMaterial Calcium44 = new SimpleFluidMaterial("calcium_44", Calcium.materialRGB, "Ca_44");
    public static final SimpleFluidMaterial OgannesonBreedingBase = new SimpleFluidMaterial("og_breeding_base", ((Titanium.materialRGB + 0xA85A12) / 2), "(Ti_50)Cf_252");
    public static final SimpleFluidMaterial QuassifissioningPlasma = new SimpleFluidMaterial("quasifissioning_plasma", 0xD5CB54, TextFormatting.OBFUSCATED + "???");
    public static final SimpleFluidMaterial Ytterbium178 = new SimpleFluidMaterial("ytterbium_178", Ytterbium.materialRGB, "Yb_178");
    public static final SimpleFluidMaterial FlYbPlasma = new SimpleFluidMaterial("flyb_plasma", (Ytterbium.materialRGB + 0x521973) / 2, "FlYb");
    public static final SimpleFluidMaterial Chromium48 = new SimpleFluidMaterial("chromium48", Chrome.materialRGB, true, "Cr_48");
    public static final SimpleFluidMaterial Iron52 = new SimpleFluidMaterial("iron52", Iron.materialRGB, true, "Fe_52");
    public static final SimpleFluidMaterial Nickel56 = new SimpleFluidMaterial("nickel56", Nickel.materialRGB, true, "Ni_56");
    public static final SimpleFluidMaterial Titanium44 = new SimpleFluidMaterial("titanium44", Titanium.materialRGB, true, "Ti_44");
    public static final SimpleFluidMaterial HeliumCNO = new SimpleFluidMaterial("helium_rich_cno", 0x59ffa6, true, "He?");
    //public static final SimpleFluidMaterial PlasmaChromium48 = new SimpleFluidMaterial("chromium48_plasma", Chrome.materialRGB);
    //public static final SimpleFluidMaterial PlasmaIron52 = new SimpleFluidMaterial("iron52_plasma", Iron.materialRGB);
    //public static final SimpleFluidMaterial PlasmaNickel56 = new SimpleFluidMaterial("nickel56_plasma", Nickel.materialRGB);
    //public static final SimpleFluidMaterial PlasmaTitanium44 = new SimpleFluidMaterial("titanium44_plasma", Titanium.materialRGB);
    //public static final SimpleFluidMaterial PlasmaHeliumCNO = new SimpleFluidMaterial("helium_rich_cno_plasma", 0x59ffa6);
    public static final SimpleFluidMaterial SeleniteTelluriteMix = new SimpleFluidMaterial("selenite_tellurite_mixture", 0x765A30, "TeO2SeO2(Na2CO3)2");
    public static final SimpleFluidMaterial SeleniteSolution = new SimpleFluidMaterial("selenite_solution", 0xc1c46a, "Na2SeO3");
    public static final SimpleFluidMaterial CopperRefiningSolution = new SimpleFluidMaterial("copper_refining_solution", 0x765A30, "CuH2SO4");
    public static final SimpleFluidMaterial SodiumHydroxideBauxite = new SimpleFluidMaterial("sodium_hydroxide_bauxite", 0xbf731a, "Al2H2O4");
    public static final SimpleFluidMaterial ImpureAluminiumHydroxideSolution = new SimpleFluidMaterial("impure_aloh3_soution", 0xd8653e, "(H2O)Al(OH)3?");
    public static final SimpleFluidMaterial PureAluminiumHydroxideSolution = new SimpleFluidMaterial("pure_aloh3_soution", (Aluminium.materialRGB+Oxygen.materialRGB+ Hydrogen.materialRGB+40)/2, "(H2O)Al2(OH)6");
    public static final SimpleFluidMaterial RedMud = new SimpleFluidMaterial("red_mud", 0xcc3300, "HCl?");
    public static final SimpleFluidMaterial NeutralisedRedMud = new SimpleFluidMaterial("neutralised_red_mud", 0xcc3300, "Fe??");
    public static final SimpleFluidMaterial FerricREEChloride = new SimpleFluidMaterial("ferric_ree_chloride", 0x30301a, "Fe?");
    public static final SimpleFluidMaterial RedSlurry = new SimpleFluidMaterial("red_slurry", 0xcc3300, "TiO2?");
    public static final SimpleFluidMaterial TitanylSulfate = new SimpleFluidMaterial("titanyl_sulfate", 0xdc3d7c, "TiO(SO4)");
    public static final SimpleFluidMaterial RubySlurry = new SimpleFluidMaterial("ruby_slurry", Ruby.materialRGB, "?");
    public static final SimpleFluidMaterial SapphireSlurry = new SimpleFluidMaterial("sapphire_slurry", Sapphire.materialRGB, "?");
    public static final SimpleFluidMaterial GreenSapphireSlurry = new SimpleFluidMaterial("green_sapphire_slurry", GreenSapphire.materialRGB, "?");
    public static final SimpleFluidMaterial DiluteNitricAcid = new SimpleFluidMaterial("dilute_nitric_acid", (NitricAcid.materialRGB + Water.materialRGB) / 2, "(H2O)HNO3");
    public static final SimpleFluidMaterial NbTaSeparationMixture = new SimpleFluidMaterial("nbta_separation_mixture", 0xbcac93, "C18H39O5P");
    public static final SimpleFluidMaterial FluoroniobicAcid = new SimpleFluidMaterial("fluroniobic_acid", 0x73ff00, "NbHF7");
    public static final SimpleFluidMaterial FluorotantalicAcid = new SimpleFluidMaterial("flurotantalic_acid", 0x73ff00, "TaHF7");
    public static final SimpleFluidMaterial NbTaFluorideMix = new SimpleFluidMaterial("nbta_fluoride_mix", 0xbcac93, "(H2NbOF5)(H2TaF7)");
    public static final SimpleFluidMaterial OxypentafluoroNiobate = new SimpleFluidMaterial("oxypentafluoroniobate", 0x73ff00, "H2NbOF5");
    public static final SimpleFluidMaterial HeptafluoroTantalate = new SimpleFluidMaterial("heptafluorotantalate", 0x73ff00, "H2TaF7");
    public static final SimpleFluidMaterial REEThUSulfateSolution = new SimpleFluidMaterial("reethu_sulfate_solution", 0x89be5c, "?SO4");
    public static final SimpleFluidMaterial RareEarthNitrateSolution = new SimpleFluidMaterial("rare_earth_nitrate_solution", 0xcfb37d, "?NO3");
    public static final SimpleFluidMaterial AlkalineEarthSulfateSolution = new SimpleFluidMaterial("alkalineearth_sulfate", 0xe6ebff, "?SO4");
    public static final SimpleFluidMaterial WetEthyleneOxide = new SimpleFluidMaterial("wet_etylene_oxide", 0x90b3ff, "(H2O)C2H4O");
    public static final SimpleFluidMaterial EthyleneGlycol = new SimpleFluidMaterial("ethylene_glycol", 0x8080fa, "C2H6O2");
    public static final SimpleFluidMaterial Chloroethanol = new SimpleFluidMaterial("chloroethanol", 0xcfb050, "C2H5ClO");
    public static final SimpleFluidMaterial Choline = new SimpleFluidMaterial("choline", 0x63e45f, "C5H14NO");
    public static final SimpleFluidMaterial ATL = new SimpleFluidMaterial("atl", 0x709c4a, "ATL");
    public static final SimpleFluidMaterial HotNitrogen = new SimpleFluidMaterial("hot_nitrogen", Nitrogen.materialRGB, "N");
    public static final SimpleFluidMaterial ViscoelasticPolyurethane = new SimpleFluidMaterial("viscoelastic_polyurethane", 0xeffcef, "C17H16N2O4?");
    public static final SimpleFluidMaterial ViscoelasticPolyurethaneFoam = new SimpleFluidMaterial("viscoelastic_polyurethane_foam", 0xeffcef, "C17H16N2O4?");
    public static final SimpleFluidMaterial CalciumCarbonateSolution = new SimpleFluidMaterial("calcium_carbonate_solution", Calcite.materialRGB, "(H2O)CaCO3");
    public static final SimpleFluidMaterial BariumSulfateSolution = new SimpleFluidMaterial("barium_sulfate_solution", Barite.materialRGB, "(H2O)BaSO4");
    public static final SimpleFluidMaterial BentoniteClaySlurry = new SimpleFluidMaterial("bentonite_clay_solution", 0xdbc9c5, "H2O?");
    public static final SimpleFluidMaterial DrillingMud = new SimpleFluidMaterial("drilling_mud", 0x996600, "For the Void Miner");
    public static final SimpleFluidMaterial UsedDrillingMud = new SimpleFluidMaterial("used_drilling_mud", 0x998833, "Used Mud");
    public static final SimpleFluidMaterial TolueneDiisocyanate = new SimpleFluidMaterial("toluene_diisocyanate", 0xbaf6ca, "C9H6N2O2");
    public static final SimpleFluidMaterial HydroselenicAcid = new SimpleFluidMaterial("hydroselenic_acid", Selenium.materialRGB, "H2Se");
    public static final SimpleFluidMaterial Aminophenol = new SimpleFluidMaterial("aminophenol", 0xafca3a, "C6H4(OH)(NH2)");
    public static final SimpleFluidMaterial Hydroxyquinoline = new SimpleFluidMaterial("hydroxyquinoline", 0x3a9a71, "C9H7NO");
    public static final SimpleFluidMaterial Perbromothiophene = new SimpleFluidMaterial("perbromothiophene", 0x87cc17, "C4Br4S");
    public static final SimpleFluidMaterial Diethoxythiophene = new SimpleFluidMaterial("dietoxythiophene", 0x90ff43, "C4H2(OC2H5)2S");
    public static final SimpleFluidMaterial EDOT = new SimpleFluidMaterial("ethylenedioxythiophene", 0x7a9996, "C2H4O2C4H2S");
    public static final SimpleFluidMaterial CitricAcid = new SimpleFluidMaterial("citric_acid", 0xffcc00, "C6H8O7");
    public static final SimpleFluidMaterial OxalicAcid = new SimpleFluidMaterial("oxalic_acid", 0x4aaae2, "HOOCCOOH");
    public static final SimpleFluidMaterial Trimethylchlorosilane = new SimpleFluidMaterial("trimethylchlorosilane", Dimethyldichlorosilane.materialRGB, "(CH3)3SiCl");
    public static final SimpleFluidMaterial Dibromoacrolein = new SimpleFluidMaterial("dibromoacrolein", 0x4a4a4a, "C2H2Br2O2");
    public static final SimpleFluidMaterial Bromohydrothiine = new SimpleFluidMaterial("bromodihydrothiine", 0x40ff3a, "C4H4S2Br2");
    public static final SimpleFluidMaterial Bromobutane = new SimpleFluidMaterial("bromobutane", 0xff3333, "CH3(CH2)3Br");
    public static final SimpleFluidMaterial AstatideSolution = new SimpleFluidMaterial("astatide_solution", 0x6df63f, "At(H2O)(SO3)");
    public static final SimpleFluidMaterial Biperfluoromethanedisulfide = new SimpleFluidMaterial("biperfluoromethanedisulfide", 0x3ada40, "C2F6S2");
    public static final SimpleFluidMaterial BariumTriflateSolution = new SimpleFluidMaterial("barium_triflate_solution", (Barium.materialRGB+Fluorine.materialRGB)/2, "(H2O)3(Hg)C2BaF6O6S2");
    public static final SimpleFluidMaterial BariumStrontiumAcetateSolution = new SimpleFluidMaterial("basr_acetate_solution", 0x9a9b98, "C2H3BaO2Sr");
    public static final SimpleFluidMaterial TitaniumIsopropoxide = new SimpleFluidMaterial("titanium_isopropoxide", 0xFF0066, "Ti(OCH(CH3)2)4");
    public static final SimpleFluidMaterial BariumChlorideSolution = new SimpleFluidMaterial("barium_chloride_solution", (Barium.materialRGB+Chlorine.materialRGB)/2, "(H2O)BaCl3");
    public static final SimpleFluidMaterial IronCarbonyl = new SimpleFluidMaterial("iron_carbonyl", 0xff8000, "Fe?");
    public static final SimpleFluidMaterial PurifiedIronCarbonyl = new SimpleFluidMaterial("purified_iron_carbonyl", 0xff8000, "Fe");
    public static final SimpleFluidMaterial BismuthNitrateSoluton = new SimpleFluidMaterial("bismuth_nitrate_solution", (Bismuth.materialRGB+Chlorine.materialRGB)/2, "(H2O)Bi(NO3)3");
    public static final SimpleFluidMaterial BariumTitanatePreparation = new SimpleFluidMaterial("barium_titanate_preparation", 0x99FF99, "BaTiO3");
    public static final SimpleFluidMaterial BariumStrontiumTitanatePreparation = new SimpleFluidMaterial("basr_titanate_preparation", 0xFF0066, "(BaTiO3)C2H3BaO2Sr");
    public static final SimpleFluidMaterial CarbonTetrachloride = new SimpleFluidMaterial("carbon_tetrachloride", 0x2d8020, "CCl4");
    public static final SimpleFluidMaterial Chloroethane = new SimpleFluidMaterial("chloroethane", 0x33aa33, "CH3CH2Cl");
    public static final SimpleFluidMaterial ActiniumSuperhydridePlasma = new SimpleFluidMaterial("actinium_superhydride_plasma", Actinium.materialRGB * 9 / 8, "AcH12");
    public static final SimpleFluidMaterial Diborane = new SimpleFluidMaterial("diborane",Boron.materialRGB, "(BH3)2");
    public static final SimpleFluidMaterial IsopropylAcetate = new SimpleFluidMaterial("isopropyl_acetate", (Strontium.materialRGB+IsopropylAlcohol.rgb+Water.materialRGB)/3, "(CH3)2CHCOOCH3");
    public static final SimpleFluidMaterial ChlorinatedSolvents = new SimpleFluidMaterial("chlorinated_solvents",0x40804c, "(CH4)2Cl5");
    public static final SimpleFluidMaterial Dichloromethane = new SimpleFluidMaterial("dichloromethane", Chloromethane.materialRGB-10, "CH2Cl2");
    public static final SimpleFluidMaterial ButanolGas = new SimpleFluidMaterial("butanol_gas",Butanol.rgb+20, "C4H9OH");
    public static final SimpleFluidMaterial Tributylamine = new SimpleFluidMaterial("tributylamine",0x801a80, "(C4H9)3N");
    public static final SimpleFluidMaterial CrudeAluminaSolution = new SimpleFluidMaterial("crude_alumina_solution", (Aluminium.materialRGB-30), "(Al(NO3)3)2(CH2Cl2)(C12H27N)");
    public static final SimpleFluidMaterial AluminaSolution = new SimpleFluidMaterial("alumina_solution", (Aluminium.materialRGB-15), "(Al2O3)(CH2Cl2)(C12H27N)2");
    public static final SimpleFluidMaterial UnprocessedNdYAGSolution = new SimpleFluidMaterial("unprocessed_ndyag_solution",0x6f20af, "Nd:YAG");
    public static final SimpleFluidMaterial AmmoniumCyanate = new SimpleFluidMaterial("ammonium_cyanate",0x3a5dcf, "NH4CNO");
    public static final SimpleFluidMaterial Ethylenediamine = new SimpleFluidMaterial("ethylenediamine", Ethanolamine.rgb, "C2H4(NH2)2");
    public static final SimpleFluidMaterial EDTASolution = new SimpleFluidMaterial("edta_solution",0x0026d9, "(C10H16N2O8)3(C2H8N2)O2");
    public static final SimpleFluidMaterial EDTA = new SimpleFluidMaterial("edta",0x0026d9, "C10H16N2O8");
    public static final SimpleFluidMaterial Glycine = new SimpleFluidMaterial("glycine", (Ethylenediamine.rgb+Formaldehyde.rgb)/2, "NH2CH2COOH");
    public static final SimpleFluidMaterial PrYHoNitrateSolution = new SimpleFluidMaterial("pryho_nitrate_solution",0x00f2b2, "(Y(NO3)3)6(Pr(NO3)3)2(Nd(NO3)3)2(H2O)15");
    public static final SimpleFluidMaterial PhosphorousArsenicSolution = new SimpleFluidMaterial("phosphorous_arsenic_solution", PhosphoricAcid.materialRGB, "AsCd(HPO4)10");
    public static final SimpleFluidMaterial FluorosilicicAcid = new SimpleFluidMaterial("fluorosilicic_acid",0x2ccf2a, "H2SiF6");
    public static final SimpleFluidMaterial AmmoniumFluoride = new SimpleFluidMaterial("ammonium_fluoride",AmmoniumChloride.materialRGB, "NH4F");
    public static final SimpleFluidMaterial AmmoniumBifluorideSolution = new SimpleFluidMaterial("ammonium_bifluoride_solution", (Ammonia.materialRGB+Fluorine.materialRGB)/2, "(H2O)NH4FHF");
    public static final SimpleFluidMaterial LuTmYChlorideSolution = new SimpleFluidMaterial("lutmy_chloride_solution",0x00f2b2, "(YCl3)6(LuCl3)2(TmCl3)2(H2O)15");
    public static final SimpleFluidMaterial MercuryNitrate = new SimpleFluidMaterial("mercury_nitrate",0xd6b8ad, "Hg(NO3)2");
    public static final SimpleFluidMaterial BismuthVanadateSolution = new SimpleFluidMaterial("bismuth_vanadate_solution",0xffff00, "(H2O)BiVO4");
    public static final SimpleFluidMaterial Nitrotoluene = new SimpleFluidMaterial("nitrotoluene",0xfcca00, "C7H7NO2");
    public static final SimpleFluidMaterial Naphthylamine = new SimpleFluidMaterial("naphthylamine",0xe3e81c, "C10H9N");
    public static final SimpleFluidMaterial Acetoacetanilide = new SimpleFluidMaterial("acetoacetanilide",0xffffc2, "C10H11NO2");
    public static final SimpleFluidMaterial Quinizarin = new SimpleFluidMaterial("quinizarin",0x3c5a2c0, "C14H8O4");
    public static final SimpleFluidMaterial Toluenesulfonate = new SimpleFluidMaterial("toluenesulfonate",0x8f8f00, "C7H7SO3Na");
    public static final SimpleFluidMaterial Isopropylsuccinate = new SimpleFluidMaterial("isopropylsuccinate",0xb26680, "C7H12O4");
    public static final SimpleFluidMaterial MaleicAnhydride = new SimpleFluidMaterial("maleic_anhydride",0x3c20ad, "C4H2O3");
    public static final SimpleFluidMaterial Benzonitrile = new SimpleFluidMaterial("benzonitrile",0x2c2c9c, "C7H5N");
    public static final SimpleFluidMaterial SeaborgiumDopedNanotubes = new SimpleFluidMaterial("seaborgium_doped_nanotubes",0x2c2c8c, "SgCNT");
    public static final SimpleFluidMaterial FullereneDopedNanotubes = new SimpleFluidMaterial("fullerene_doped_nanotubes",0x6c2c6c, "C60CNT");
    public static final SimpleFluidMaterial AmmoniumNiobiumOxalateSolution = new SimpleFluidMaterial("ammonium_niobium_oxalate_solution",0x6c6cac, "(NH4)C10Nb2O20");
    public static final SimpleFluidMaterial DielectricMirrorFormationMix = new SimpleFluidMaterial("dielectric_mirror_formation_mix",0xff992c, "MgF2ZnSTa2Ti(C2H6O8)");
    public static final SimpleFluidMaterial LiquidZBLAN = new SimpleFluidMaterial("molten_zblan",(Zirconium.materialRGB+Barium.materialRGB+Lanthanum.materialRGB+Aluminium.materialRGB+Fluorine.materialRGB)/5, "(ZrF4)18(BaF2)7(LaF3)2(AlF3)(NaF)7");
    public static final SimpleFluidMaterial ChlorousAcid = new SimpleFluidMaterial("chlorous_acid", 0x2d6e8a, "HClO2"); // TODO USELESS, REMOVE
    public static final SimpleFluidMaterial Iodobenzene = new SimpleFluidMaterial("iodobenzene",0x2c2c6c0, "C6H5I");
    public static final SimpleFluidMaterial Amino3phenol = new SimpleFluidMaterial("3_aminophenol",Aminophenol.rgb, "C6H7NO");
    public static final SimpleFluidMaterial Dimethylnaphthalene = new SimpleFluidMaterial("dimethylnaphthalene",0xe34fb0, "C12H12");
    public static final SimpleFluidMaterial IodineMonochloride = new SimpleFluidMaterial("iodine_monochloride",0x004c4c, "ICl");
    public static final SimpleFluidMaterial AcetylatingReagent = new SimpleFluidMaterial("acetylating_reagent",0x8d5e63, "C9H12Si(MgBr)2");
    public static final SimpleFluidMaterial Dihydroiodotetracene = new SimpleFluidMaterial("dihydroiodotetracene",0x5c4d38, "H2C18H11I");
    public static final SimpleFluidMaterial Dichlorodicyanobenzoquinone = new SimpleFluidMaterial("dichlorodicyanobenzoquinone",0x3a2aba, "C8Cl2N2O2");
    public static final SimpleFluidMaterial Dichlorodicyanohydroquinone = new SimpleFluidMaterial("dichlorodicyanohidroquinone",0x3a2aba, "C8Cl2N2(OH)2");
    public static final SimpleFluidMaterial IodobenzoicAcid = new SimpleFluidMaterial("iodobenzoic_acid",0x2cac6c0, "C7H5IO2");
    public static final SimpleFluidMaterial Methoxybenzaldehyde = new SimpleFluidMaterial("methoxybenzaldehyde",0x3c3a7a, "C8H8O2");
    public static final SimpleFluidMaterial Butylaniline = new SimpleFluidMaterial("butylaniline", Aniline.rgb, "C10H15N");
    public static final SimpleFluidMaterial MBBA = new SimpleFluidMaterial("mbba",0xfa30fa, "C18H21NO");
    public static final SimpleFluidMaterial LiquidCrystalDetector = new SimpleFluidMaterial("liquid_crystal_detector",0xda20da);
    public static final SimpleFluidMaterial PotassiumEthoxide = new SimpleFluidMaterial("potassium_ethoxide",Ethanol.materialRGB, "C2H5KO");
    public static final SimpleFluidMaterial TetraethylammoniumBromide = new SimpleFluidMaterial("tetraethylammonium_bromide",0xcc33ff, "C8H20NBr");
    public static final SimpleFluidMaterial Hexanediol = new SimpleFluidMaterial("hexanediol", EthyleneGlycol.rgb, "C6H14O2");
    public static final SimpleFluidMaterial Hexamethylenediamine = new SimpleFluidMaterial("hexamethylenediamine",Ethylenediamine.rgb, "C6H16N2");
    public static final SimpleFluidMaterial Tertbutanol = new SimpleFluidMaterial("tertbutanol",0xcccc2c, "C4H10O");
    public static final SimpleFluidMaterial Triaminoethaneamine = new SimpleFluidMaterial("triaminoethaneamine",0x6f7d87, "(NH2CH2CH2)3N");
    public static final SimpleFluidMaterial TertButylAzidoformate = new SimpleFluidMaterial("tertbuthylcarbonylazide",0x888818, "C5H9N3O2");
    public static final SimpleFluidMaterial AminatedFullerene = new SimpleFluidMaterial("aminated_fullerene",0x2c2caa, "C60N12H12");
    public static final SimpleFluidMaterial Azafullerene = new SimpleFluidMaterial("azafullerene",0x8a7a1a, "C60N12H12");
    public static final SimpleFluidMaterial Ethylamine = new SimpleFluidMaterial("ethylamine",Ethylenediamine.rgb, "C2H5NH2");
    public static final SimpleFluidMaterial Trimethylsilane = new SimpleFluidMaterial("trimethylsilane",Trimethylchlorosilane.rgb, "C3H10Si");
    public static final SimpleFluidMaterial KryptonDifluoride = new SimpleFluidMaterial("krypton_difluoride",Krypton.materialRGB, "KrF2");
    public static final SimpleFluidMaterial QuarkGluonPlasma = new SimpleFluidMaterial("quark_gluon_plasma",0x8f00ff, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(u2)d(c2)s(t2)bg" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial HeavyQuarks = new SimpleFluidMaterial("heavy_quarks",0x008800, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(u2)ds" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial LightQuarks = new SimpleFluidMaterial("light_quarks",0x0000ff, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(c2)(t2)b" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial Gluons = new SimpleFluidMaterial("gluons",0xfcfcfa, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "g" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial HeavyLeptonMix = new SimpleFluidMaterial("heavy_lepton_mix",0x5adf52, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(t2)u" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial CosmicComputingMix = new SimpleFluidMaterial("cosmic_computing_mix",0xafad2f, TextFormatting.OBFUSCATED + "aaaaa", false, true);
    public static final SimpleFluidMaterial HeavyQuarkEnrichedMix = new SimpleFluidMaterial("heavy_quark_enriched_mix",0xefefef, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(u2)d(c2)s(t2)b" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial DeuteriumSuperheavyMix = new SimpleFluidMaterial("deuterium_superheavy_mix",0xa2d2a4, "(H_2)FlHsOg");
    public static final SimpleFluidMaterial ScandiumTitanium50Mix = new SimpleFluidMaterial("scandium_titanium50_mix", (Scandium.materialRGB+Titanium.materialRGB)/2, "ScTi_50");
    public static final SimpleFluidMaterial RadonRadiumMix = new SimpleFluidMaterial("radon_radium_mix",(Radium.materialRGB+Radon.materialRGB)/2, "RnRa");
    public static final SimpleFluidMaterial Phenylsodium = new SimpleFluidMaterial("phenylsodium",0x2c2cc8, "C6H5Na");
    public static final SimpleFluidMaterial Difluoroaniline = new SimpleFluidMaterial("difluoroaniline",0x3fac4a, "C6H5F2N");
    public static final SimpleFluidMaterial Succinaldehyde = new SimpleFluidMaterial("succinaldehyde",0x7c6d9a, "C4H6O2");
    public static final SimpleFluidMaterial NDifluorophenylpyrrole = new SimpleFluidMaterial("n_difluorophenylpyrrole",0x3a9aa9, "C10H7F2N");
    public static final SimpleFluidMaterial PhotopolymerSolution = new SimpleFluidMaterial("photopolymer_solution",0x8a526d, "C149H97N10O2(TiBF20)");
    public static final SimpleFluidMaterial Trichloroferane = new SimpleFluidMaterial("trichloroferane",0x521973, "FlCl3");
    public static final SimpleFluidMaterial GlucoseIronSolution = new SimpleFluidMaterial("glucose_iron_solution", (Sugar.materialRGB+Iron.materialRGB)/2, "(C6H12O6)FeCl3");
    public static final SimpleFluidMaterial GrapheneOxidationSolution = new SimpleFluidMaterial("graphene_oxidation_solution",0x96821a, "(KMnO4)(NaNO3)(H2SO4)");
    public static final SimpleFluidMaterial SupercriticalCO2 = new SimpleFluidMaterial("supercritcal_co2",CarbonDioxide.materialRGB, "CO2");
    public static final SimpleFluidMaterial NobleGases = new SimpleFluidMaterial("noble_gases_mixture",(Helium.materialRGB+Neon.materialRGB+Argon.materialRGB+Krypton.materialRGB+Xenon.materialRGB+Radon.materialRGB), "HeNeArKrXeRn");
    public static final SimpleFluidMaterial NonMetals = new SimpleFluidMaterial("non_metals",(Hydrogen.materialRGB+Boron.materialRGB+Carbon.materialRGB+Nitrogen.materialRGB+Oxygen.materialRGB+Fluorine.materialRGB+Phosphorus.materialRGB+Sulfur.materialRGB+Chlorine.materialRGB+Arsenic.materialRGB+Selenium.materialRGB+Bromine.materialRGB+Tellurium.materialRGB+Iodine.materialRGB+Astatine.materialRGB), "BCPSAsSeTeIAtONHFClBr");
    public static final SimpleFluidMaterial DenseNeutronPlasma = new SimpleFluidMaterial("dense_neutron_plasma",0xacecac,1000000, false, TextFormatting.OBFUSCATED.toString() + "a" + TextFormatting.RESET + TextFormatting.GRAY + "n" + TextFormatting.OBFUSCATED.toString() + "a");
    public static final SimpleFluidMaterial CosmicMeshPlasma = new SimpleFluidMaterial("cosmic_mesh_plasma",0x1c1c8c,1000000, false, TextFormatting.OBFUSCATED.toString() + "nn");
    public static final SimpleFluidMaterial SuperfluidHelium = new SimpleFluidMaterial("superfluid_helium",Helium.materialRGB,2, false, "He");
    public static final SimpleFluidMaterial LiquidHelium3 = new SimpleFluidMaterial("liquid_helium_3", Helium3.materialRGB,4, false, "He_3");
    public static final SimpleFluidMaterial LiquidEnrichedHelium = new SimpleFluidMaterial("liquid_enriched_helium", Helium.materialRGB, 4, false, "HeHe_3");
    public static final SimpleFluidMaterial LiquidNitrogen = new SimpleFluidMaterial("liquid_nitrogen",Nitrogen.materialRGB, 70, false, "N");
    public static final SimpleFluidMaterial Methylethanolamine = new SimpleFluidMaterial("methylethanolamine",0x6a3baa, "C3H9NO");
    public static final SimpleFluidMaterial Methylguanidine = new SimpleFluidMaterial("methylguanidine",0x5a9a3c, "C2H7N3");
    public static final SimpleFluidMaterial Methylnitronitrosoguanidine = new SimpleFluidMaterial("methylnitronitrosoguanidine",0x68b15d, "C2H5N5O3");
    public static final SimpleFluidMaterial IsoamylAlcohol = new SimpleFluidMaterial("isoamyl_alcohol",0xcaba77, "C5H12O");
    public static final SimpleFluidMaterial Octanol = new SimpleFluidMaterial("octanol",0xa2b8c2, "C8H18O");
    public static final SimpleFluidMaterial Trioctylamine = new SimpleFluidMaterial("trioctylamine",0x87a2bc, "C24H51N");
    public static final SimpleFluidMaterial RheniumSeparationMixture = new SimpleFluidMaterial("rhenium_separation_mixture",0xed2c3a, "C11H24");
    public static final SimpleFluidMaterial RheniumScrubbedSolution = new SimpleFluidMaterial("rhenium_scrubbed_solution",0xedccca, "Re?");
    public static final SimpleFluidMaterial NeutroniumDopedNanotubes = new SimpleFluidMaterial("neutronium_doped_nanotubes",(Neutronium.materialRGB+CarbonNanotubes.materialRGB)/2, "Nt?");
    public static final SimpleFluidMaterial SupercriticalSteam = new SimpleFluidMaterial("supercritical_steam", Steam.materialRGB, "H2O");
    public static final SimpleFluidMaterial SupercriticalDeuterium = new SimpleFluidMaterial("supercritical_deuterium", Deuterium.materialRGB, "H_2");
    public static final SimpleFluidMaterial SupercriticalSodiumPotassiumAlloy = new SimpleFluidMaterial("supercritical_sodium_potassium_alloy", SodiumPotassiumAlloy.materialRGB, "Na7K3");
    public static final SimpleFluidMaterial SupercriticalSodium = new SimpleFluidMaterial("supercritical_sodium", Sodium.materialRGB, "Na");
    public static final SimpleFluidMaterial SupercriticalFLiNaK = new SimpleFluidMaterial("supercritical_flinak", FLiNaK.materialRGB, "FLiNaK");
    public static final SimpleFluidMaterial SupercriticalFLiBe = new SimpleFluidMaterial("supercritical_flibe", FLiBe.materialRGB, "FLiBe");
    public static final SimpleFluidMaterial SupercriticalLeadBismuthEutectic = new SimpleFluidMaterial("supercritical_lead_bismuth_eutectic", LeadBismuthEutectic.materialRGB, "Pb3Bi7");
    public static final SimpleFluidMaterial FreeAlphaGas = new SimpleFluidMaterial("free_alpha_gas", 0xe0d407, "a");
    public static final SimpleFluidMaterial FreeElectronGas = new SimpleFluidMaterial("free_electron_gas", 0x044c4c, "e-");
    public static final SimpleFluidMaterial HighEnergyQGP = new SimpleFluidMaterial("high_energy_qgp", 0x8f00ff, TextFormatting.OBFUSCATED + "a" + TextFormatting.RESET + "(u2)d(c2)s(t2)bg" + TextFormatting.OBFUSCATED + "a", false, true);
    public static final SimpleFluidMaterial AcetylsulfanilylChloride = new SimpleFluidMaterial("acetylsulfanilyl_chloride", (Aniline.rgb + AceticAnhydride.rgb + ChlorosulfonicAcid.rgb)/3, "C8H8ClNO3S");
    public static final SimpleFluidMaterial BenzoylPeroxide = new SimpleFluidMaterial("benzoyl_peroxide", (Barium.materialRGB + BenzoylChloride.rgb)/2, "C14H10O4");
    public static final SimpleFluidMaterial Iron2Chloride = new SimpleFluidMaterial("iron_ii_chloride", (IronChloride.materialRGB-10), "FeCl2");
    public static final SimpleFluidMaterial Propadiene = new SimpleFluidMaterial("propadiene", (Butanol.rgb-20), "C3H4");
    public static final SimpleFluidMaterial FluorophosphoricAcid = new SimpleFluidMaterial("fluorophosphoric_acid", PhosphorusTrichloride.rgb, "HPF6");
    public static final SimpleFluidMaterial PhenylenedioxydiaceticAcid = new SimpleFluidMaterial("phenylenedioxydiacetic_acid", 0x99546a, "C10H10O6");
    public static final SimpleFluidMaterial Diethylthiourea = new SimpleFluidMaterial("diethylthiourea", 0x2acaa4, "(C2H5NH)2CS");
    public static final SimpleFluidMaterial Isophthaloylbisdiethylthiourea = new SimpleFluidMaterial("isophthaloylbisdiethylthiourea", 0x8a7b9c, "C18H26N4O2S2");
    public static final SimpleFluidMaterial SodiumAlginateSolution = new SimpleFluidMaterial("sodium_alginate_solution",0xca8642, "NaC6H7O6");
    public static final SimpleFluidMaterial AscorbicAcid = new SimpleFluidMaterial("ascorbic_acid",0xe6cd00, "C6H8O6");
    public static final SimpleFluidMaterial DehydroascorbicAcid = new SimpleFluidMaterial("dehydroascorbic_acid",0xe6cd00, "C6H6O6");
    public static final SimpleFluidMaterial CaCBaSMixture = new SimpleFluidMaterial("cacbas_mixture", (CalciumCarbonateSolution.rgb + BariumSulfateSolution.rgb) / 2);
    public static final SimpleFluidMaterial LubricantClaySlurry = new SimpleFluidMaterial("lubricant_clay_slurry", (Lubricant.materialRGB + BentoniteClaySlurry.rgb) / 2);
    public static final SimpleFluidMaterial ATLEthylene = new SimpleFluidMaterial("atl_ethylene_mixture", (ATL.rgb + EthyleneGlycol.rgb) / 2);
    public static final SimpleFluidMaterial DrillingMudMixture = new SimpleFluidMaterial("drilling_mud_mixture", (CaCBaSMixture.rgb + LubricantClaySlurry.rgb) / 2);
    public static final SimpleFluidMaterial Cyclopentadiene = new SimpleFluidMaterial("cyclopentadiene", Cyclooctadiene.rgb, "C5H6");
    public static final SimpleFluidMaterial ChloroauricAcid = new SimpleFluidMaterial("chloroauric_acid", 0xDFD11F, "HAuCl?");
    public static final SimpleFluidMaterial Helium4 = new SimpleFluidMaterial("helium4", Helium.materialRGB-10, "He_4");
    public static final SimpleFluidMaterial FermionicUUMatter = new SimpleFluidMaterial("fermionic_uu_matter", UUMatter.materialRGB / 3, TextFormatting.OBFUSCATED + "???");
    public static final SimpleFluidMaterial BosonicUUMatter = new SimpleFluidMaterial("bosonic_uu_matter", UUMatter.materialRGB - FermionicUUMatter.rgb, TextFormatting.OBFUSCATED + "???");
    public static final SimpleFluidMaterial Oxydianiline = new SimpleFluidMaterial("oxydianiline", 0xF0E130, "C12H12N2O");
    public static final SimpleFluidMaterial PolyamicAcid = new SimpleFluidMaterial("polyamic_acid", 0xFFAE42, "C22H14N2O7");
    public static final SimpleFluidMaterial Hexafluoropropylene = new SimpleFluidMaterial("hexafluoropropylene", 0x111111, "C3F6");
    public static final SimpleFluidMaterial Dimethylether = new SimpleFluidMaterial("dimethylether", 0xe6cd11, "C2H6O");
    public static final SimpleFluidMaterial Dimethoxyethane = new SimpleFluidMaterial("dimethoxyethane", 0x2acbb4, "C4H10O2");
    public static final SimpleFluidMaterial LithiumCyclopentadienide = new SimpleFluidMaterial("lithiumcyclopentadienide", 0x95556a, "LiC5H5");
    public static final SimpleFluidMaterial CaliforniumCyclopentadienide = new SimpleFluidMaterial("californiumcyclopentadienide", 0x94445b, "C15H15Cf");
    public static final SimpleFluidMaterial Soap = new SimpleFluidMaterial("soap", 0xFFAE42, "?");
    public static final SimpleFluidMaterial DeglyceratedSoap = new SimpleFluidMaterial("deglyceratedsoap", 0xFFAE41);
    public static final SimpleFluidMaterial StearicAcid = new SimpleFluidMaterial("stearicacid", 0x2bbbb4, "C18H36O2");
    public static final SimpleFluidMaterial Trioctylphosphine = new SimpleFluidMaterial("trioctylphosphine", 0xF1E130, "C24H51P");
    public static final SimpleFluidMaterial QuantumDots = new SimpleFluidMaterial("quantumdots", 0xff0000, "CdSe", true);
    public static final SimpleFluidMaterial IridiumTrichlorideSolution = new SimpleFluidMaterial("iridiumtrichloridesolution", 0x96821a, "IrCl3");
    public static final SimpleFluidMaterial SemisolidHydrogen = new SimpleFluidMaterial("semisolidhydrogen", 0x044c4b, "H");
    public static final SimpleFluidMaterial MicrocrystallizingHydrogen = new SimpleFluidMaterial("microcrystallizinghydrogen", 0x155d5c, "H");
    public static final SimpleFluidMaterial Toluidine = new SimpleFluidMaterial("toluidine",(Toluene.materialRGB+ Aniline.rgb)/2,"C7H9N");
    public static final SimpleFluidMaterial ApatiteAcidicLeach = new SimpleFluidMaterial("apatite_acidic_leach", PhosphoricAcid.materialRGB, "H10P3O12Cl??");
    public static final SimpleFluidMaterial FluoroapatiteAcidicLeach = new SimpleFluidMaterial("fluoroapatite_acidic_leach", PhosphoricAcid.materialRGB,"H10P3O12F??");
    public static final SimpleFluidMaterial NitrousAcid = new SimpleFluidMaterial("nitrous_acid", 0x1e73b0, "HNO2");
    public static final SimpleFluidMaterial HydroxylamineHydrochloride = new SimpleFluidMaterial("hydroxylamine_hydrochloride", ((Barium.materialRGB+Chlorine.materialRGB)/2 + 0xF0EAD6)/2, "HONH2HCl");
    public static final SimpleFluidMaterial SelenousAcid = new SimpleFluidMaterial("selenous_acid", (0xFFFF66 + Water.materialRGB)/2, "H2SeO3");
    public static final SimpleFluidMaterial Glyoxal = new SimpleFluidMaterial("glyoxal", 0xf2f068, "C2H2O2");
    public static final SimpleFluidMaterial BenzylChloride = new SimpleFluidMaterial("benzyl_chloride", 0xaef7fc, "C7H7Cl");
    public static final SimpleFluidMaterial Benzylamine = new SimpleFluidMaterial("benzylamine", 0x5c8082, "C7H9N");
    public static final SimpleFluidMaterial Tetrahydrofuran = new SimpleFluidMaterial("tetrahydrofuran", 0xb7ebcd, "(CH2)4O");
    public static final SimpleFluidMaterial Triethylamine = new SimpleFluidMaterial("triethylamine", Ethylenediamine.rgb, "N(CH2CH3)3");
    public static final SimpleFluidMaterial TetrafluoroboricAcid = new SimpleFluidMaterial("tetrafluoroboric_acid",Silvertetrafluoroborate.rgb,"HBF4");
    public static final SimpleFluidMaterial BoronTrifluorideEtherate = new SimpleFluidMaterial("boron_trifluoride_etherate", (BoronFluoride.rgb+Diethylether.rgb)/2, "(BF3)(C2H5)2O");
    public static final SimpleFluidMaterial BoraneDimethylsulfide = new SimpleFluidMaterial("borane_dimethylsulfide", (Diborane.rgb+Dimethylsulfide.rgb)/2, "(BH3)(CH3)2S");
    public static final SimpleFluidMaterial Perfluorobenzene = new SimpleFluidMaterial("perfluorobenzene", 0x226E22, "C6F6");
    public static final SimpleFluidMaterial NitratedTriniiteSolution = new SimpleFluidMaterial("nitrated_triniite_solution", 0x428c9f);
    public static final SimpleFluidMaterial ResidualTriniiteSolution = new SimpleFluidMaterial("residual_triniite_solution", 0x219daf);
    public static final SimpleFluidMaterial HeavilyFluorinatedTriniumSolution = new SimpleFluidMaterial("heavily_fluorinated_trinium_solution", 0x348d41);
    public static final SimpleFluidMaterial MoltenCalciumSalts = new SimpleFluidMaterial("molten_calcium_salts",(Fluorite.materialRGB+Calcium.materialRGB)/2);
    public static final SimpleFluidMaterial EthylTrifluoroacetate = new SimpleFluidMaterial("ethyl_trifluoroacetate", 0x88a12d, "C4H5F3O2");
    public static final SimpleFluidMaterial Acetothienone = new SimpleFluidMaterial("acetothieone", 0x79882a, "C6H6SO");
    public static final SimpleFluidMaterial TheonylTrifluoroacetate = new SimpleFluidMaterial("theonyl_trifluoroacetate",0x88882b, "C8H5F3O2S");
    public static final SimpleFluidMaterial ActiniumRadiumNitrateSolution = new SimpleFluidMaterial("actinium_radium_nitrate_solution", 0xd2f0df);
    public static final SimpleFluidMaterial ActiniumRadiumHydroxideSolution = new SimpleFluidMaterial("actinium_radium_hydroxide_solution", 0xe2f5ef);
    public static final SimpleFluidMaterial FumingNitricAcid = new SimpleFluidMaterial("fuming_nitric_acid", NitricAcid.materialRGB, "HNO3");
    public static final SimpleFluidMaterial AcetylChloride = new SimpleFluidMaterial("acetyl_chloride", AceticAcid.materialRGB, "C2H3OCl");
    public static final SimpleFluidMaterial DirtyHexafluorosilicicAcid = new SimpleFluidMaterial("dirty_hexafluorosilicic_acid",(Stone.materialRGB+FluorosilicicAcid.rgb/2), "H2SiF6?");
    public static final SimpleFluidMaterial DiluteHexafluorosilicicAcid = new SimpleFluidMaterial("dilute_hexafluorosilicic_acid", (Water.materialRGB*2+FluorosilicicAcid.rgb)/3,"(H2O)2(H2SiF6)");
    public static final SimpleFluidMaterial Dioxygendifluoride = new SimpleFluidMaterial("dioxygen_difluoride", 0x32bdaf, "FOOF");
    public static final SimpleFluidMaterial DiluteHydrofluoricAcid = new SimpleFluidMaterial("dilute_hydrofluoric_acid", (Water.materialRGB+HydrofluoricAcid.materialRGB)/3,"(H2O)(HF)");
    public static final SimpleFluidMaterial OxidizedResidualSolution = new SimpleFluidMaterial("oxidized_residual_solution", 0x23ad7f);
    public static final SimpleFluidMaterial TritiumHydride = new SimpleFluidMaterial("tritium_hydride",Tritium.materialRGB, "TH");
    public static final SimpleFluidMaterial Helium3Hydride = new SimpleFluidMaterial("helium_iii_hydride", Helium3.materialRGB, "He_3H");
    public static final SimpleFluidMaterial UltraacidicResidueSolution = new SimpleFluidMaterial("ultraacidic_residue_solution", (FluoroantimonicAcid.rgb+Helium3Hydride.rgb)/2);
    public static final SimpleFluidMaterial XenicAcid = new SimpleFluidMaterial("xenic_acid", 0x5a4c9c, "H2XeO4");
    public static final SimpleFluidMaterial DustyLiquidHelium3 = new SimpleFluidMaterial("dusty_liquid_helium3", 2*Helium3.materialRGB/3+Taranium.materialRGB/5);
    public static final SimpleFluidMaterial TaraniumEnrichedLHelium3 = new SimpleFluidMaterial("taranium_enriched_liquid_helium3", Helium3.materialRGB/2+Taranium.materialRGB/2);
    public static final SimpleFluidMaterial TaraniumSemidepletedLHelium3 = new SimpleFluidMaterial("taranium_semidepleted_liquid_helium3", 2*Helium3.materialRGB/3+Taranium.materialRGB/5);
    public static final SimpleFluidMaterial TaraniumDepletedLHelium3 = new SimpleFluidMaterial("taranium_depleted_liquid_helium3",Helium3.materialRGB*5/6+Taranium.materialRGB/8);
    public static final SimpleFluidMaterial TaraniumRichDustyHeliumPlasma = new SimpleFluidMaterial("taranium_rich_dusty_helium_plasma", Helium.materialRGB/2+Taranium.materialRGB/2, 10000);
    public static final SimpleFluidMaterial TaraniumDepletedHeliumPlasma = new SimpleFluidMaterial("taranium_depleted_helium_plasma", Helium.materialRGB/2+Taranium.materialRGB/2, 10000);
    public static final SimpleFluidMaterial TaraniumRichHelium4 = new SimpleFluidMaterial("taranium_rich_helium_4", Helium.materialRGB/2+Taranium.materialRGB, true);
    public static final SimpleFluidMaterial TaraniumPoorLiquidHelium = new SimpleFluidMaterial("taranium_poor_liquid_helium", Helium3.materialRGB*6/7+Taranium.materialRGB/14);
    public static final SimpleFluidMaterial LiquidFluorine = new SimpleFluidMaterial("liquid_fluorine",Fluorine.materialRGB-0x303030);
    public static final SimpleFluidMaterial LiquidXenon = new SimpleFluidMaterial("liquid_xenon",Xenon.materialRGB, 165);
    public static final SimpleFluidMaterial TaraniumPoorLiquidHeliumMix = new SimpleFluidMaterial("taranium_poor_liquid_helium_mix", TaraniumPoorLiquidHelium.rgb*10/11+LiquidHelium.rgb/11);
    public static final SimpleFluidMaterial HydroiodicAcid = new SimpleFluidMaterial("hydroiodic_acid",Hydrogen.materialRGB/2+Iodine.materialRGB/2, "HI");
    public static final SimpleFluidMaterial ChlorodiisopropylPhosphine = new SimpleFluidMaterial("chlorodiisopropyl_phosphine", 0xa2c122);
    public static final SimpleFluidMaterial CesiumBromideSolution = new SimpleFluidMaterial("cesium_bromide_solution", (Caesium.materialRGB-10+SaltWater.materialRGB)/2, "CsBr(H2O)");




    // SIMPLE DUSTS
    public static final SimpleDustMaterial AntimonyTrifluoride = new SimpleDustMaterial("antimony_trifluoride", 0xc7c7c7, (short) 0, Antimony.materialIconSet, "SbF3");
    public static final SimpleDustMaterial IndiumTrifluoride = new SimpleDustMaterial("indium_trifluoride", 0x2b0f48, (short) 1, Indium.materialIconSet, "InF3");
    public static final SimpleDustMaterial IndiumTrioxide = new SimpleDustMaterial("indium_trioxide", 0x2b0f48, (short) 2, Indium.materialIconSet, "In2O3");
    public static final SimpleDustMaterial NaquadahConcentrate = new SimpleDustMaterial("naquadah_concentrate", Naquadah.materialRGB, (short) 3, Naquadah.materialIconSet, "Nq?");
    public static final SimpleDustMaterial EnrichedNaquadahConcentrate = new SimpleDustMaterial("enriched_naquadah_concentrate", NaquadahEnriched.materialRGB, (short) 4, NaquadahEnriched.materialIconSet, "Nq+?");
    public static final SimpleDustMaterial NaquadriaConcentrate = new SimpleDustMaterial("naquadria_concentrate", Naquadria.materialRGB, (short) 5, Naquadria.materialIconSet, "*Nq*?");
    public static final SimpleDustMaterial AuricFluoride = new SimpleDustMaterial("auric_fluoride", 0xdffb50, (short) 6, MaterialIconSet.SHINY, "AuF3");
    public static final SimpleDustMaterial ThUSludge = new SimpleDustMaterial("thorium_uranium_sludge", 0x002908, (short) 7, MaterialIconSet.DULL, "ThU");
    public static final SimpleDustMaterial LanthanumOxide = new SimpleDustMaterial("lanthanum_oxide", Lanthanum.materialRGB, (short) 8, Lanthanum.materialIconSet, "La2O3");
    public static final SimpleDustMaterial PraseodymiumOxide = new SimpleDustMaterial("praseodymium_oxide", Praseodymium.materialRGB, (short) 9, Praseodymium.materialIconSet, "Pr2O3");
    public static final SimpleDustMaterial NeodymiumOxide = new SimpleDustMaterial("neodymium_oxide", Neodymium.materialRGB, (short) 10, Neodymium.materialIconSet, "Nd2O3");
    public static final SimpleDustMaterial CeriumOxide = new SimpleDustMaterial("cerium_oxide", Cerium.materialRGB, (short) 11, Cerium.materialIconSet, "Ce2O3");
    public static final SimpleDustMaterial EuropiumOxide = new SimpleDustMaterial("europium_oxide", Europium.materialRGB, (short) 12, Europium.materialIconSet, "Eu2O3");
    public static final SimpleDustMaterial GadoliniumOxide = new SimpleDustMaterial("gadolinium_oxide", Gadolinium.materialRGB, (short) 13, Gadolinium.materialIconSet, "Gd2O3");
    public static final SimpleDustMaterial SamariumOxide = new SimpleDustMaterial("samarium_oxide", Samarium.materialRGB, (short) 14, Samarium.materialIconSet, "Sm2O3");
    public static final SimpleDustMaterial TerbiumOxide = new SimpleDustMaterial("terbium_oxide", Terbium.materialRGB, (short) 15, Terbium.materialIconSet, "Tb2O3");
    public static final SimpleDustMaterial DysprosiumOxide = new SimpleDustMaterial("dysprosium_oxide", Dysprosium.materialRGB, (short) 16, Dysprosium.materialIconSet, "Dy2O3");
    public static final SimpleDustMaterial HolmiumOxide = new SimpleDustMaterial("holmium_oxide", Holmium.materialRGB, (short) 17, Holmium.materialIconSet, "Ho2O3");
    public static final SimpleDustMaterial ErbiumOxide = new SimpleDustMaterial("erbium_oxide", Erbium.materialRGB, (short) 18, Erbium.materialIconSet, "Er2O3");
    public static final SimpleDustMaterial ThuliumOxide = new SimpleDustMaterial("thulium_oxide", Thulium.materialRGB, (short) 19, Thulium.materialIconSet, "Tm2O3");
    public static final SimpleDustMaterial YtterbiumOxide = new SimpleDustMaterial("ytterbium_oxide", Ytterbium.materialRGB, (short) 20, Ytterbium.materialIconSet, "Yb2O3");
    public static final SimpleDustMaterial LutetiumOxide = new SimpleDustMaterial("lutetium_oxide", Lutetium.materialRGB, (short) 21, Lutetium.materialIconSet, "Lu2O3");
    public static final SimpleDustMaterial ScandiumOxide = new SimpleDustMaterial("scandium_oxide", Scandium.materialRGB, (short) 22, Scandium.materialIconSet, "Sc2O3");
    public static final SimpleDustMaterial CalciumCarbide = new SimpleDustMaterial("calcium_carbide", 0x807b70, (short) 23, MaterialIconSet.DULL, "CaC2");
    public static final SimpleDustMaterial CalciumHydroxide = new SimpleDustMaterial("calcium_hydroxide", 0x5f8764, (short) 24, MaterialIconSet.DULL, "Ca(OH)2");
    public static final SimpleDustMaterial BetaPinene = new SimpleDustMaterial("beta_pinene", 0x61ad6b, (short) 25, MaterialIconSet.DULL, "C10H16");
    public static final SimpleDustMaterial Yeast = new SimpleDustMaterial("yeast", 0xf0e660, (short) 26, MaterialIconSet.ROUGH, "???");
    public static final SimpleDustMaterial Glutamine = new SimpleDustMaterial("glutamine", 0xede9b4, (short) 27, MaterialIconSet.DULL,"C5H10N2O3");
    public static final SimpleDustMaterial SilicaGel = new SimpleDustMaterial("silica_gel", 0x61daff, (short) 28, MaterialIconSet.SHINY, "SiO2");
    public static final SimpleDustMaterial SilicaAluminaGel = new SimpleDustMaterial("silica_alumina_gel", 0x558d9e, (short) 29, MaterialIconSet.ROUGH, "Al2O3SiO2");
    public static final SimpleDustMaterial ZeoliteSievingPellets = new SimpleDustMaterial("zeolite_sieving_pellets", 0xa17bd1, (short) 30, MaterialIconSet.ROUGH, "Al2O3SiO2");
    public static final SimpleDustMaterial WetZeoliteSievingPellets = new SimpleDustMaterial("wet_zeolite_sieving_pellets", 0x392f45, (short) 31, MaterialIconSet.METALLIC, "Al2O3SiO2?");
    public static final SimpleDustMaterial GreenAlgae = new SimpleDustMaterial("green_algae", 0x228b22, (short) 32, MaterialIconSet.METALLIC, "An Algae");
    public static final SimpleDustMaterial BrownAlgae = new SimpleDustMaterial("brown_algae", 0xa52a2a, (short) 33, MaterialIconSet.METALLIC, "An Algae");
    public static final SimpleDustMaterial RedAlgae = new SimpleDustMaterial("red_algae", 0xf08080, (short) 34, MaterialIconSet.METALLIC, "An Algae");
    public static final SimpleDustMaterial DryRedAlgae = new SimpleDustMaterial("dry_red_algae", 0xff7f50, (short) 35, MaterialIconSet.ROUGH, "A Dry Algae");
    public static final SimpleDustMaterial RedAlgaePowder = new SimpleDustMaterial("red_algae_powder", 0xcc2f2f, (short) 36, MaterialIconSet.ROUGH, "A Powdered Algae");
    public static final SimpleDustMaterial PreFreezeAgar = new SimpleDustMaterial("pre_freeze_agar", 0x132b0d, (short) 37, MaterialIconSet.ROUGH, "Warm Agar");
    public static final SimpleDustMaterial FrozenAgarCrystals = new SimpleDustMaterial("frozen_agar_crystals", 0x68db4b, (short) 38, MaterialIconSet.SHINY, "Cold Agar");
    public static final SimpleDustMaterial Agar = new SimpleDustMaterial("agar", 0x38a31d, (short) 39, MaterialIconSet.DULL, "Agar");
    public static final SimpleDustMaterial BrevibacteriumFlavium = new SimpleDustMaterial("brevibacterium_flavium", 0x2c4d24, (short) 40, MaterialIconSet.ROUGH, "Bacteria");
    public static final SimpleDustMaterial StreptococcusPyogenes = new SimpleDustMaterial("streptococcus_pyogenes", 0x1c3b15, (short) 41, MaterialIconSet.ROUGH, "Bacteria");
    public static final SimpleDustMaterial EschericiaColi = new SimpleDustMaterial("eschericia_coli", 0x2d4228, (short) 42, MaterialIconSet.ROUGH, "Bacteria");
    public static final SimpleDustMaterial BifidobacteriumBreve = new SimpleDustMaterial("bifidobacterium_breve", 0x377528, (short) 43, MaterialIconSet.ROUGH, "Bacteria");
    public static final SimpleDustMaterial Alumina = new SimpleDustMaterial("alumina", 0x0b585c, (short) 44, MaterialIconSet.ROUGH, "Al2O3");
    public static final SimpleDustMaterial CupriavidusNecator = new SimpleDustMaterial("cupriavidus_necator", 0x22704f, (short) 46, MaterialIconSet.ROUGH, "Bacteria");
    public static final SimpleDustMaterial Shewanella = new SimpleDustMaterial("shewanella", 0x8752ab, (short) 47, MaterialIconSet.METALLIC, "Bacteria");
    public static final SimpleDustMaterial ZirconiumTetrachloride = new SimpleDustMaterial("zirconium_tetrachloride", 0xF0F0F0, (short) 54, MaterialIconSet.SHINY, "ZrCl4");
    public static final SimpleDustMaterial SiliconCarbide = new SimpleDustMaterial("silicon_carbide", (Silicon.materialRGB+Carbon.materialRGB)/2, (short) 55, MaterialIconSet.SHINY, "SiC");
    public static final SimpleDustMaterial GoldDepleteMolybdenite = new SimpleDustMaterial("gold_deplete_molybdenite", 0x7c7c8f, (short) 48, MaterialIconSet.SHINY, "MoS2?");
    public static final SimpleDustMaterial MolybdenumConcentrate = new SimpleDustMaterial("molybdenum_concentrate", 0x565666, (short) 49, MaterialIconSet.SHINY, "MoS2Re");
    public static final SimpleDustMaterial MolybdenumTrioxide = new SimpleDustMaterial("molybdenum_trioxide", 0x666685, (short) 50, MaterialIconSet.SHINY, "MoO3");
    public static final SimpleDustMaterial CopperChloride = new SimpleDustMaterial("copper_chloride", 0xf5b35d, (short) 51, MaterialIconSet.SHINY, "CuCl2");
    public static final SimpleDustMaterial BismuthChloride = new SimpleDustMaterial("bismuth_chloride", 0x95f5d7, (short) 52, MaterialIconSet.SHINY, "BiCl3");
    public static final SimpleDustMaterial LeadChloride = new SimpleDustMaterial("lead_chloride", (Lead.materialRGB+Chlorine.materialRGB)/2, (short) 53, MaterialIconSet.SHINY, "PbCl2");
    public static final SimpleDustMaterial ZirconiumTetrafluoride = new SimpleDustMaterial("zirconium_tetrafluoride", (Zirconium.materialRGB+Fluorine.materialRGB)/2, (short) 56, MaterialIconSet.SHINY, "ZrF4");
    public static final SimpleDustMaterial BariumDifluoride = new SimpleDustMaterial("barium_difluoride", (Barium.materialRGB+Fluorine.materialRGB)/2, (short) 57, MaterialIconSet.METALLIC, "BaF2");
    public static final SimpleDustMaterial LanthanumTrifluoride = new SimpleDustMaterial("lanthanum_trifluoride", (Lanthanum.materialRGB+Fluorine.materialRGB)/2, (short) 58, MaterialIconSet.METALLIC, "LaF3");
    public static final SimpleDustMaterial AluminiumTrifluoride = new SimpleDustMaterial("aluminium_trifluoride", (Aluminium.materialRGB+Fluorine.materialRGB)/2, (short) 59, MaterialIconSet.ROUGH, "AlF3");
    public static final SimpleDustMaterial ErbiumTrifluoride = new SimpleDustMaterial("erbium_trifluoride", (Erbium.materialRGB+Fluorine.materialRGB)/2, (short) 60, MaterialIconSet.ROUGH, "ErF3");
    public static final SimpleDustMaterial ZBLANDust = new SimpleDustMaterial("zblan_dust", (ZirconiumTetrafluoride.rgb+BariumDifluoride.rgb+LanthanumTrifluoride.rgb+AluminiumTrifluoride.rgb)/4, (short) 61, MaterialIconSet.SHINY, "(ZrF4)18(BaF2)7(LaF3)2(AlF3)(NaF)7");
    public static final SimpleDustMaterial ErbiumDopedZBLANDust = new SimpleDustMaterial("erbium_doped_zblan_dust", (ZBLANDust.rgb+ErbiumTrifluoride.rgb)/2, (short) 62, MaterialIconSet.SHINY, "(ErF3)(ZrF4)18(BaF2)7(LaF3)2(AlF3)(NaF)7");
    public static final SimpleDustMaterial PotassiumCyanide = new SimpleDustMaterial("potassium_cyanide", (Potassium.materialRGB+Nitrogen.materialRGB)/2, (short) 63, MaterialIconSet.ROUGH, "KCN");
    public static final SimpleDustMaterial SuccinicAcid = new SimpleDustMaterial("succinic_acid", (MaleicAnhydride.rgb+Water.materialRGB+Hydrogen.materialRGB)/3, (short) 64, MaterialIconSet.ROUGH, "C4H6O4");
    public static final SimpleDustMaterial Succinimide = new SimpleDustMaterial("succinimide", (SuccinicAcid.rgb+Ammonia.materialRGB)/2, (short) 65, MaterialIconSet.METALLIC, "C4H5NO2");
    public static final SimpleDustMaterial Bromosuccinimide = new SimpleDustMaterial("bromo_succinimide", (Succinimide.rgb+Bromine.materialRGB)/2, (short) 66, MaterialIconSet.METALLIC, "C4H4BrNO2");
    public static final SimpleDustMaterial Benzophenanthrenylacetonitrile = new SimpleDustMaterial("benzophenanthrenylacetonitrile", (Naphthaldehyde.rgb+Ethylene.materialRGB-20)/2, (short) 67, MaterialIconSet.ROUGH, "C20H13N");
    public static final SimpleDustMaterial UnfoldedFullerene = new SimpleDustMaterial("unfolded_fullerene", (Benzophenanthrenylacetonitrile.rgb+Oxygen.materialRGB)/2, (short) 68, MaterialIconSet.DULL, "C60H30");
    public static final SimpleDustMaterial Fullerene = new SimpleDustMaterial("fullerene", (UnfoldedFullerene.rgb-20), (short) 69, MaterialIconSet.METALLIC, "C60");
    public static final SimpleDustMaterial TiAlChloride = new SimpleDustMaterial("tial_chloride", (Titanium.materialRGB+Aluminium.materialRGB+Chlorine.materialRGB)/3, (short) 70, MaterialIconSet.DULL, "TiAlCl7");
    public static final SimpleDustMaterial Dimethylaminopyridine = new SimpleDustMaterial("dimethylaminopyridine", (Dimethylamine.materialRGB+Pyridine.rgb)/2, (short) 71, MaterialIconSet.ROUGH, "(CH3)2NC5H4N");
    public static final SimpleDustMaterial PdIrReOCeOS = new SimpleDustMaterial("pdirreoceos", (Palladium.materialRGB+Iridium.materialRGB+Rhenium.materialRGB+Cerium.materialRGB+Osmium.materialRGB+Silicon.materialRGB+Oxygen.materialRGB)/7, (short) 72, MaterialIconSet.SHINY, "PdIrReCeOsSiO4");
    public static final SimpleDustMaterial SodiumEthoxide = new SimpleDustMaterial("sodium_ethoxide", (Ethanol.materialRGB+ SodiumHydroxide.materialRGB)/2, (short) 73, MaterialIconSet.METALLIC, "C2H5ONa");
    public static final SimpleDustMaterial MgClBromide = new SimpleDustMaterial("mgcl_bromide", (MagnesiumChloride.materialRGB+Bromine.materialRGB)/2, (short) 74, MaterialIconSet.ROUGH, "MgClBr");
    public static final SimpleDustMaterial Sarcosine = new SimpleDustMaterial("sarcosine", (Glycine.rgb+Oxygen.materialRGB)/2, (short) 75, MaterialIconSet.SHINY, "C3H7NO2");
    public static final SimpleDustMaterial SodiumNitrite = new SimpleDustMaterial("sodium_nitrite", (Sodium.materialRGB+Nitrogen.materialRGB)/2, (short) 76, MaterialIconSet.ROUGH, "NaNO2");
    public static final SimpleDustMaterial ZnFeAlClCatalyst = new SimpleDustMaterial("znfealcl_catalyst", (Zinc.materialRGB+Iron.materialRGB+Aluminium.materialRGB+Chlorine.materialRGB)/4, (short) 77, MaterialIconSet.METALLIC, "ZnFeAlCl");
    public static final SimpleDustMaterial Difluorobenzophenone = new SimpleDustMaterial("difluorobenzophenone", (FluoroBenzene.rgb+Fluorotoluene.rgb)/2, (short) 78, MaterialIconSet.SHINY, "(FC6H4)2CO");
    public static final SimpleDustMaterial AluminiumChloride = new SimpleDustMaterial("aluminium_chloride", (Aluminium.materialRGB+Chlorine.materialRGB)/2, (short) 79, MaterialIconSet.SHINY, "AlCl3");
    public static final SimpleDustMaterial PdFullereneMatrix = new SimpleDustMaterial("pd_fullerene_matrix", (Palladium.materialRGB+Fullerene.rgb)/2, (short) 80, MaterialIconSet.SHINY, "PdC73H15NFe");
    public static final SimpleDustMaterial Terephthalaldehyde = new SimpleDustMaterial("terephthalaldehyde", (Dibromomethylbenzene.rgb+SulfuricAcid.materialRGB)/2, (short) 81, MaterialIconSet.FINE, "C8H6O2");
    public static final SimpleDustMaterial PreZylon = new SimpleDustMaterial("pre_zylon", (Terephthalaldehyde.rgb+Dinitrodipropanyloxybenzene.rgb)/2, (short) 82, MaterialIconSet.FINE, "C20H22N2O2");
    public static final SimpleDustMaterial AuPdCCatalyst = new SimpleDustMaterial("aupdc_catalyst", (Gold.materialRGB+Palladium.materialRGB+Carbon.materialRGB)/3, (short) 83, MaterialIconSet.SHINY, "AuPdC");
    public static final SimpleDustMaterial Cyanonaphthalene = new SimpleDustMaterial("cyanonaphthalene", (SodiumCyanide.rgb+ Naphthalene.materialRGB)/2, (short) 84, MaterialIconSet.FINE, "C11H7N");
    public static final SimpleDustMaterial TinChloride = new SimpleDustMaterial("tin_chloride", (Tin.materialRGB+Chlorine.materialRGB)/2, (short) 85, MaterialIconSet.ROUGH, "SnCl2");
    public static final SimpleDustMaterial Triphenylphosphine = new SimpleDustMaterial("triphenylphosphine", (Chlorobenzene.materialRGB+PhosphorusTrichloride.rgb)/2, (short) 86, MaterialIconSet.ROUGH, "(C6H5)3P");
    public static final SimpleDustMaterial Methylbenzophenanthrene = new SimpleDustMaterial("methylbenzophenanthrene", (Naphthaldehyde.rgb+EthylBenzene.materialRGB)/2, (short) 87, MaterialIconSet.FINE, "C19H14");
    public static final SimpleDustMaterial VanadiumSlag = new SimpleDustMaterial("vanadium_slag", (Vanadium.materialRGB+Titanium.materialRGB)/2, (short) 88, MaterialIconSet.DULL, "(VO)C(TiO2)");
    public static final SimpleDustMaterial VanadiumSlagDust = new SimpleDustMaterial("vanadium_slag_dust", 0xf2ef1b, (short) 89, MaterialIconSet.ROUGH, "VO");
    public static final SimpleDustMaterial SodiumVanadate = new SimpleDustMaterial("sodium_vanadate", 0xf2df1d, (short) 90, MaterialIconSet.ROUGH, "Na3VO4");
    public static final SimpleDustMaterial AmmoniumVanadate = new SimpleDustMaterial("ammonium_vanadate", 0xf2ff1c, (short) 91, MaterialIconSet.FINE, "NH4VO3");
    public static final SimpleDustMaterial VanadiumOxide = new SimpleDustMaterial("vanadium_oxide", 0xf2ef1b, (short) 92, MaterialIconSet.FINE, "V2O5");
    public static final SimpleDustMaterial BariumSulfide = new SimpleDustMaterial("barium_sulfide", 0xc2c2be, (short) 93, MaterialIconSet.FINE, "BaS");
    public static final SimpleDustMaterial BariumCarbonate = new SimpleDustMaterial("barium_carbonate", Salt.materialRGB+10, (short) 94, MaterialIconSet.FINE, "BaCO3");
    public static final SimpleDustMaterial BariumOxide = new SimpleDustMaterial("barium_oxide", (Barium.materialRGB+Oxygen.materialRGB)/2, (short) 95, MaterialIconSet.FINE, "BaO");
    public static final SimpleDustMaterial BariumAluminate = new SimpleDustMaterial("barium_aluminate", Saltpeter.materialRGB+10, (short) 96, MaterialIconSet.FINE, "BaAl2O4");
    public static final SimpleDustMaterial PotassiumUranylTricarbonate = new SimpleDustMaterial("potassium_uranyl_carbonate", 0xeff028, (short) 98, MaterialIconSet.METALLIC, "(UO2)CO3");
    public static final SimpleDustMaterial UraniumPeroxideThoriumOxide = new SimpleDustMaterial("uranium_peroxide_thorium_oxide", 0x202020, (short) 99, MaterialIconSet.SHINY, "(UO3)(H2O2)ThO2");
    public static final SimpleDustMaterial UraniumThoriumOxide = new SimpleDustMaterial("uranium_thorium_oxide", 0x202020, (short) 100, MaterialIconSet.SHINY, "UO2ThO2");
    public static final SimpleDustMaterial UranylThoriumSulfate = new SimpleDustMaterial("uranium_thorium_sulfate", 0xe7e848, (short) 101, MaterialIconSet.SHINY, "(UO2)SO4ThO2");
    public static final SimpleDustMaterial UranylThoriumNitrate = new SimpleDustMaterial("uranium_thorium_nitrate", 0xe7e848, (short) 102, MaterialIconSet.SHINY, "UO2(NO3)2Th(NO3)4");
    public static final SimpleDustMaterial UraniumOxideThoriumNitrate = new SimpleDustMaterial("uranium_oxide_thorium_nitrate", 0x33bd45, (short) 103, MaterialIconSet.SHINY, "UO2Th(NO3)4");
    public static final SimpleDustMaterial CaesiumHydroxide = new SimpleDustMaterial("caesium_hydroxide", Caesium.materialRGB-10, (short) 104, MaterialIconSet.ROUGH, "CsOH");
    public static final SimpleDustMaterial AluminiumHydroxide = new SimpleDustMaterial("aluminium_hydroxide", Aluminium.materialRGB-25, (short) 105, MaterialIconSet.FINE, "Al(OH)3");
    public static final SimpleDustMaterial PotassiumCarbonate = new SimpleDustMaterial("potassium_carbonate", (Potassium.materialRGB+Carbon.materialRGB+Oxygen.materialRGB)/3, (short) 106, MaterialIconSet.FINE, "K2CO3");
    public static final SimpleDustMaterial GrapheneOxidationResidue = new SimpleDustMaterial("graphene_oxidation_residue", 0x96821a, (short) 107, MaterialIconSet.FINE, "(KMnO4)(NaNO3)(H2SO4)");
    public static final SimpleDustMaterial NiAlOCatalyst = new SimpleDustMaterial("nialo_catalyst", 0x0af0af, (short) 108, MaterialIconSet.SHINY, "NiAl2O4");
    public static final SimpleDustMaterial FeCrOCatalyst = new SimpleDustMaterial("fecro_catalyst", 0x8C4517, (short) 109, MaterialIconSet.SHINY, "FeCrO3");
    public static final SimpleDustMaterial RoastedSpodumene = new SimpleDustMaterial("roasted_spodumene", 0x3d3d29, (short) 110, MaterialIconSet.DULL, "LiAlSi2O6");
    public static final SimpleDustMaterial RoastedLepidolite = new SimpleDustMaterial("roasted_lepidolite", 0x470024, (short) 111, MaterialIconSet.DULL, "KLi3Al4O11");
    public static final SimpleDustMaterial LithiumChloride = new SimpleDustMaterial("lithium_chloride", (Lithium.materialRGB+Chlorine.materialRGB)/2, (short) 112, MaterialIconSet.METALLIC, "LiCl");
    public static final SimpleDustMaterial Lithiumthiinediselenide = new SimpleDustMaterial("lithiumthiinediselenide", 0x7ada00, (short) 113, MaterialIconSet.METALLIC, "C4H4S2Li2Se2");
    public static final SimpleDustMaterial NickelChloride = new SimpleDustMaterial("nickel_chloride", Nickel.materialRGB+10, (short) 114, MaterialIconSet.ROUGH, "NiCl2");
    public static final SimpleDustMaterial PotassiumSulfate = new SimpleDustMaterial("potassium_sulfate", (Potassium.materialRGB+Sulfur.materialRGB)/2, (short) 115, MaterialIconSet.FINE, "K2SO4");
    public static final SimpleDustMaterial AluminiumSulfate = new SimpleDustMaterial("aluminium_sulfate", (Aluminium.materialRGB+Sulfur.materialRGB)/2, (short) 116, MaterialIconSet.SHINY, "Al2(SO4)3");
    public static final SimpleDustMaterial BariumHydroxide = new SimpleDustMaterial("barium_hydroxide", (Barium.materialRGB+Hydrogen.materialRGB+Oxygen.materialRGB)/3, (short) 117, MaterialIconSet.FINE, "Ba(OH)2");
    public static final SimpleDustMaterial HafniumOxide = new SimpleDustMaterial("hafnium_oxide", 0x404040, (short) 118, MaterialIconSet.SHINY, "HfO2");
    public static final SimpleDustMaterial SiliconChloride = new SimpleDustMaterial("silicon_chloride", Silicon.materialRGB-15, (short) 119, MaterialIconSet.ROUGH, "SiCl4");
    public static final SimpleDustMaterial HafniumChloride = new SimpleDustMaterial("hafnium_chloride", Hafnium.materialRGB+20, (short) 120, MaterialIconSet.FINE, "HfCl4");
    public static final SimpleDustMaterial ZincCokePellets = new SimpleDustMaterial("zinc_coke_pellets", (Zinc.materialRGB+Coke.materialRGB)/2, (short) 121, MaterialIconSet.ROUGH, "(H2O)(ZnS)C");
    public static final SimpleDustMaterial ZincResidualSlag = new SimpleDustMaterial("zinc_residual_slag", (Zinc.materialRGB-20), (short) 122, MaterialIconSet.DULL, "?");
    public static final SimpleDustMaterial ZincFlueDust = new SimpleDustMaterial("zinc_flue_dust", 0xfcfca, (short) 123, MaterialIconSet.ROUGH, "?");
    public static final SimpleDustMaterial ZincLeachingResidue = new SimpleDustMaterial("zinc_leaching_residue", (Germanium.materialRGB+Oxygen.materialRGB)/2, (short) 124, MaterialIconSet.DULL, "Ge?");
    public static final SimpleDustMaterial FineZincSlagDust = new SimpleDustMaterial("fine_zinc_slag_dust", (Zinc.materialRGB-10), (short) 125, MaterialIconSet.FINE, "?");
    public static final SimpleDustMaterial IndiumHydroxide = new SimpleDustMaterial("indium_hydroxide", (Indium.materialRGB+SodiumHydroxide.materialRGB)/2, (short) 126, MaterialIconSet.SHINY, "In(OH)3");
    public static final SimpleDustMaterial CadmiumZincDust = new SimpleDustMaterial("cadmium_zinc_dust", (Cadmium.materialRGB+Zinc.materialRGB)/2, (short) 127, MaterialIconSet.SHINY, "(H2SO4)CdZn?");
    public static final SimpleDustMaterial ThalliumResidue = new SimpleDustMaterial("thallium_residue", (Thallium.materialRGB-10), (short) 128, MaterialIconSet.SHINY, "Tl?");
    public static final SimpleDustMaterial ThalliumChloride = new SimpleDustMaterial("thallium_chloride", (Thallium.materialRGB+Chlorine.materialRGB)/2, (short) 129, MaterialIconSet.SHINY, "TlCl");
    public static final SimpleDustMaterial ZincChloride = new SimpleDustMaterial("zinc_chloride", (Zinc.materialRGB+Chlorine.materialRGB)/2, (short) 130, MaterialIconSet.FINE, "ZnCl2");
    public static final SimpleDustMaterial SodiumSulfite = new SimpleDustMaterial("sodium_sulfite", (SodiumHydroxide.materialRGB+Sulfur.materialRGB)/2, (short) 131, MaterialIconSet.FINE, "Na2SO3");
    public static final SimpleDustMaterial Cellulose = new SimpleDustMaterial("cellulose", (0xfefefc), (short) 132, MaterialIconSet.DULL, "C6H10O5");
    public static final SimpleDustMaterial GermaniumOxide = new SimpleDustMaterial("germanium_oxide", (Germanium.materialRGB+10), (short) 133, MaterialIconSet.SHINY, "GeO2");
    public static final SimpleDustMaterial DisodiumPhosphate = new SimpleDustMaterial("sodium_diphosphate", (Sodium.materialRGB+Phosphorus.materialRGB)/2, (short) 134, MaterialIconSet.ROUGH, "Na2HPO4");
    public static final SimpleDustMaterial AcrylicFibers = new SimpleDustMaterial("acrylic_fibers", 0xfdfdfb, (short) 135, MaterialIconSet.FINE, "(C5O2H8)n");
    public static final SimpleDustMaterial UranylNitrate = new SimpleDustMaterial("uranyl_nitrate", 0x33bd45, (short) 136, MaterialIconSet.SHINY, "U" + OXIDE2.formula() + NITRATE.formulaGroup(2));
    public static final SimpleDustMaterial CalciumSalts = new SimpleDustMaterial("calcium_salts", Calcium.materialRGB-10, (short) 137, MaterialIconSet.ROUGH, of(new MaterialStack(Calcite, 1), new MaterialStack(Gypsum, 1)));
    public static final SimpleDustMaterial SodiumSalts = new SimpleDustMaterial("sodium_salts", Sodium.materialRGB-5, (short) 138, MaterialIconSet.ROUGH, "NaCl?");
    public static final SimpleDustMaterial PotassiumMagnesiumSalts = new SimpleDustMaterial("kmg_salts", 0xcacac8, (short) 139, MaterialIconSet.ROUGH, "KClMg" + SULFATE.formula() + "K2" + SULFATE.formula() + "KF");
    public static final SimpleDustMaterial CalciumMagnesiumSalts = new SimpleDustMaterial("camg_salts", 0xcacac8, (short) 140, MaterialIconSet.ROUGH, "Ca" + CARBONATE.formula() + "(Sr" + CARBONATE.formula() + ")(CO2)MgO");
    public static final SimpleDustMaterial SodiumAluminiumHydride = new SimpleDustMaterial("sodium_aluminium_hydride", 0x98cafc, (short) 141, MaterialIconSet.ROUGH, "NaAlH4");
    public static final SimpleDustMaterial LithiumAluminiumHydride = new SimpleDustMaterial("lithium_aluminium_hydride", 0xc0defc, (short) 142, MaterialIconSet.ROUGH, "LiAlH4");
    public static final SimpleDustMaterial SodiumAzanide = new SimpleDustMaterial("sodium_azanide", (Sodium.materialRGB+Hydrogen.materialRGB+Nitrogen.materialRGB)/3, (short) 143, MaterialIconSet.FINE, "NaNH2");
    public static final SimpleDustMaterial SodiumAzide = new SimpleDustMaterial("sodium_azide", (Sodium.materialRGB+Nitrogen.materialRGB)/2, (short) 144, MaterialIconSet.FINE, "NaN3");
    public static final SimpleDustMaterial Glucosamine = new SimpleDustMaterial("glucosamine", (Cellulose.rgb+Water.materialRGB)/2, (short) 145, MaterialIconSet.FINE, "C6H13NO5");
    public static final SimpleDustMaterial AluminiumHydride = new SimpleDustMaterial("aluminium_hydride", 0x0b585c, (short) 146, MaterialIconSet.ROUGH, "AlH3");
    public static final SimpleDustMaterial SodiumHydride = new SimpleDustMaterial("sodium_hydride", 0xcacac8, (short) 147, MaterialIconSet.ROUGH, "NaH");
    public static final SimpleDustMaterial DehydrogenationCatalyst = new SimpleDustMaterial("dehydrogenation_catalyst", 0x6464f5, (short) 148, MaterialIconSet.SHINY, "?");
    public static final SimpleDustMaterial PolystyreneNanoParticles = new SimpleDustMaterial("polystryrene_nanoparticles", 0x888079, (short) 149, MaterialIconSet.FINE, "(C8H8)n");
    public static final SimpleDustMaterial MagnesiumSulfate = new SimpleDustMaterial("magnesium_sulfate", 0xcacac8, (short) 150, MaterialIconSet.DULL, "MgSO4");
    public static final SimpleDustMaterial SodiumMolybdate = new SimpleDustMaterial("sodium_molybdate", 0xfcfc00, (short) 151, MaterialIconSet.ROUGH,"Na2MoO4");
    public static final SimpleDustMaterial SodiumPhosphomolybdate = new SimpleDustMaterial("sodium_phosphomolybdate", 0xfcfc00, (short) 152, MaterialIconSet.SHINY, "(MoO3)12Na3PO4");
    public static final SimpleDustMaterial SodiumPhosphotungstate = new SimpleDustMaterial("sodium_phosphotungstate", 0x7a7777, (short) 153, MaterialIconSet.SHINY, "(WO3)12Na3PO4");
    public static final SimpleDustMaterial Fructose = new SimpleDustMaterial("fructose", (Cellulose.rgb+Sugar.materialRGB)/2, (short) 165, MaterialIconSet.ROUGH, "C6H12O6");
    public static final SimpleDustMaterial Glucose = new SimpleDustMaterial("glucose", (Sugar.materialRGB+5), (short) 166, MaterialIconSet.ROUGH, "C6H12O6");
    public static final SimpleDustMaterial LeadNitrateCalciumMixture = new SimpleDustMaterial("lead_nitrate_calcium_mixture", (LeadNitrate.materialRGB+Calcium.materialRGB)/2, (short) 167, MaterialIconSet.SHINY, "(Pb(NO3)2)Ca9");
    //FREE ID 168
    public static final SimpleDustMaterial StrontiumOxide = new SimpleDustMaterial("strontium_oxide", 0xcacac8, (short) 169, MaterialIconSet.SHINY, "SrO");
    public static final SimpleDustMaterial Biphenyl = new SimpleDustMaterial("biphenyl", 0x003366, (short) 155, MaterialIconSet.SHINY, "C12H10");
    public static final SimpleDustMaterial Diiodobiphenyl = new SimpleDustMaterial("diiodobiphenyl", 0x000f66, (short) 156, MaterialIconSet.ROUGH, "C12H8I2");
    public static final SimpleDustMaterial Bipyridine = new SimpleDustMaterial("bipyridine", 0X978662, (short) 170, MaterialIconSet.FINE, "C10H8N2");
    public static final SimpleDustMaterial PalladiumChloride = new SimpleDustMaterial("palladium_chloride", 0xb9c0c7, (short) 157, MaterialIconSet.SHINY, "PdCl2");
    public static final SimpleDustMaterial PalladiumBisDibenzylidieneacetone = new SimpleDustMaterial("palladium_bisdibenzylidieneacetone", 0Xbe81a0, (short) 158, MaterialIconSet.ROUGH, "C51H42O3Pd2");
    public static final SimpleDustMaterial PotassiumTetrachloroplatinate = new SimpleDustMaterial("potassium_tetrachloroplatinate", 0xffba54, (short) 159, MaterialIconSet.SHINY, "K2PtCl4");
    public static final SimpleDustMaterial NickelTriphenylPhosphite = new SimpleDustMaterial("nickel_triphenyl_phosphite", 0xd9d973, (short) 160, MaterialIconSet.SHINY, "C36H30Cl2NiP2");
    public static final SimpleDustMaterial Dichlorocycloctadieneplatinium = new SimpleDustMaterial("dichlorocyclooctadieneplatinium", 0xe0f78a, (short) 161, MaterialIconSet.SHINY, "C8H12Cl2Pt");
    public static final SimpleDustMaterial GrapheneNanotubeMix = new SimpleDustMaterial("graphene_nanotube_mix", 0x2c2c2c, (short) 162, MaterialIconSet.ROUGH, "(C)C?");
    public static final SimpleDustMaterial GrapheneAlignedCNT = new SimpleDustMaterial("graphene_aligned_cnt", 0x2c2c2c, (short) 163, MaterialIconSet.SHINY, "(C)C30H20");
    public static final SimpleDustMaterial NiAlCatalyst = new SimpleDustMaterial("nial_catalyst", 0x6ea2ff, (short) 164, MaterialIconSet.SHINY, "NiAl");
    public static final SimpleDustMaterial TitaniumNitrate = new SimpleDustMaterial("titanium_nitrate", 0xFF0066, (short) 171, MaterialIconSet.FINE, "Ti" + NITRATE.formulaGroup(4));
    public static final SimpleDustMaterial SilverNitrate = new SimpleDustMaterial("silver_nitrate", 0xfdfdca, (short) 172, MaterialIconSet.SHINY, "AgNO3");
    public static final SimpleDustMaterial AnodicSlime = new SimpleDustMaterial("anodic_slime", 0x765A30, (short) 173, MaterialIconSet.DULL, "SeTe??");
    public static final SimpleDustMaterial TelluriumOxide = new SimpleDustMaterial("tellurium_oxide", 0xFFFF66, (short) 174, MaterialIconSet.SHINY, "TeO2");
    public static final SimpleDustMaterial SeleniumOxide = new SimpleDustMaterial("selenium_oxide", 0xFFFF66, (short) 175, MaterialIconSet.SHINY, "SeO2");
    public static final SimpleDustMaterial ManganeseSulfate = new SimpleDustMaterial("manganese_sulfate", (Manganese.materialRGB+Sulfur.materialRGB)/2, (short) 176, MaterialIconSet.ROUGH, "MnSO4");
    public static final SimpleDustMaterial TinSlag = new SimpleDustMaterial("tin_slag", 0xc8b9a9, (short) 177, MaterialIconSet.DULL, "NbTa?");
    public static final SimpleDustMaterial NbTaContainingDust = new SimpleDustMaterial("nbta_containing_dust", 0xc8b9a9, (short) 178, MaterialIconSet.ROUGH, "NbTa");
    public static final SimpleDustMaterial NiobiumTantalumOxide = new SimpleDustMaterial("niobium_tantalum_oxide", (Niobium.materialRGB+Tantalum.materialRGB)/2, (short) 179, MaterialIconSet.SHINY, "(Nb2O5)(Ta2O5)");
    public static final SimpleDustMaterial FusedColumbite = new SimpleDustMaterial("fused_columbite", 0xCCCC00, (short) 180, MaterialIconSet.ROUGH, "(Fe2O3)(NaO)Nb2O5");
    public static final SimpleDustMaterial LeachedColumbite = new SimpleDustMaterial("leached_columbite", 0xCCCC00, (short) 181, MaterialIconSet.SHINY, "(Nb2O5)9Ta2O5?");
    public static final SimpleDustMaterial FusedTantalite = new SimpleDustMaterial("fused_tantalite", 0x915028, (short) 182, MaterialIconSet.ROUGH, "(Fe2O3)(NaO)Ta2O5");
    public static final SimpleDustMaterial LeachedTantalite = new SimpleDustMaterial("leached_tantalite", 0x915028, (short) 183, MaterialIconSet.SHINY, "(Ta2O5)9Nb2O5?");
    public static final SimpleDustMaterial ColumbiteMinorOxideResidue = new SimpleDustMaterial("columbite_minor_oxide_residue", 0x915028, (short) 184, MaterialIconSet.ROUGH, "(BaO)(SnO2)(WO3)(Al2O3)");
    public static final SimpleDustMaterial TantaliteMinorOxideResidue = new SimpleDustMaterial("tantalite_minor_oxide_residue", 0xCCCC00, (short) 185, MaterialIconSet.ROUGH, "(BaO)(ZrO2)(TiO2)(SiO2)");
    public static final SimpleDustMaterial LeachedPyrochlore = new SimpleDustMaterial("leached_pyrochlore", 0x996633, (short) 186, MaterialIconSet.SHINY, "(Nb2O5)9Ta2O5?");
    public static final SimpleDustMaterial AcidicLeachedPyrochlore = new SimpleDustMaterial("acidic_leached_pyrochlore", 0x996633, (short) 187, MaterialIconSet.SHINY, "(H2SO4)Ca12Sr6Ba6?ThUNb26O78F26");
    public static final SimpleDustMaterial PotasssiumFluoroNiobate = new SimpleDustMaterial("potassium_fluoroniobate", 0x73ff00, (short) 188, MaterialIconSet.SHINY, "K2NbF7");
    public static final SimpleDustMaterial PotasssiumFluoroTantalate = new SimpleDustMaterial("potassium_fluorotantalate", 0x73ff00, (short) 189, MaterialIconSet.SHINY, "K2TaF7");
    public static final SimpleDustMaterial BariumPeroxide = new SimpleDustMaterial("barium_peroxide", (Barium.materialRGB+Oxygen.materialRGB-30)/2, (short) 190, MaterialIconSet.SHINY, "BaO2");
    public static final SimpleDustMaterial CassiteriteCokePellets = new SimpleDustMaterial("cassiterite_coke_pellets", 0x8f8f8f, (short) 191, MaterialIconSet.ROUGH, "SnO2C?");
    public static final SimpleDustMaterial IronSulfateDust = new SimpleDustMaterial("iron_sulfate_dust", (Iron.materialRGB+Sulfur.materialRGB)/2, (short) 192, MaterialIconSet.SHINY, "FeSO4");
    public static final SimpleDustMaterial StrontiumCarbonate = new SimpleDustMaterial("strontium_carbonate", 0xcacac8, (short) 193, MaterialIconSet.ROUGH, "Sr" + CARBONATE.formula());
    public static final SimpleDustMaterial SodiumBicarbonate = new SimpleDustMaterial("sodium_bicarbonate", (Sodium.materialRGB+Hydrogen.materialRGB+Carbon.materialRGB)/3, (short) 194, MaterialIconSet.ROUGH, "NaHCO3");
    public static final SimpleDustMaterial SodiumHypochlorite = new SimpleDustMaterial("sodium_hypochlorite", 0x6cff50, (short) 195, MaterialIconSet.SHINY, "NaClO");
    public static final SimpleDustMaterial DehydratedLignite = new SimpleDustMaterial("dehydrated_lignite", 0x5c4020, (short) 196, MaterialIconSet.DULL, "C2(H2O)4C?");
    public static final SimpleDustMaterial BCEPellet = new SimpleDustMaterial("bce_pellet", 0x3c3020, (short) 197, MaterialIconSet.LIGNITE, "C2(H2O)4C");
    public static final SimpleDustMaterial CopperGalliumIndiumMix = new SimpleDustMaterial("copper_gallium_indium_mix", (Indium.materialRGB + Copper.materialRGB + Gallium.materialRGB) / 3, (short) 198, MaterialIconSet.ROUGH, "CuGaIn");
    public static final SimpleDustMaterial CopperGalliumIndiumSelenide = new SimpleDustMaterial("copper_gallium_indium_selenide", (CopperGalliumIndiumMix.rgb + Selenium.materialRGB) / 2, (short) 199, MaterialIconSet.SHINY, "CuGaInSe2");
    public static final SimpleDustMaterial LanthanumCalciumManganate = new SimpleDustMaterial("lanthanum_gallium_manganate", 0x8aa07b, (short) 200, MaterialIconSet.SHINY, "LaCaMnO3");
    public static final SimpleDustMaterial AluminiumComplex = new SimpleDustMaterial("aluminium_complex", 0x3f5a9f, (short) 201, MaterialIconSet.SHINY, "AlC9H7NO");
    public static final SimpleDustMaterial IronPlatinumCatalyst = new SimpleDustMaterial("iron_platinum_catalyst", Iron.materialRGB / 2 + Platinum.materialRGB / 2, (short) 205, MaterialIconSet.SHINY, "FePt");
    public static final SimpleDustMaterial YttriumNitrate = new SimpleDustMaterial("yttrium_nitrate", 0xdadafc, (short) 206, MaterialIconSet.SHINY, "Y(NO3)3");
    public static final SimpleDustMaterial CopperNitrate = new SimpleDustMaterial("copper_nitrate", 0xcaecec, (short) 254, MaterialIconSet.SHINY, "Cu(NO3)2");
    public static final SimpleDustMaterial BariumNitrate = new SimpleDustMaterial("barium_nitrate", (Barium.materialRGB+NitricAcid.materialRGB)/2, (short) 207, MaterialIconSet.SHINY, "Ba(NO3)2");
    public static final SimpleDustMaterial WellMixedYBCOxides = new SimpleDustMaterial("well_mixed_ybc_oxides", 0x2c3429, (short) 208, MaterialIconSet.ROUGH, "YBa2Cu3O6");
    public static final SimpleDustMaterial PiledTBCC = new SimpleDustMaterial("piled_tbcc", 0x669900, (short) 209, MaterialIconSet.SHINY, "Tl2Ba2Cu3Ca2");
    public static final SimpleDustMaterial ActiniumOxalate = new SimpleDustMaterial("actinium_oxalate", Actinium.materialRGB, (short) 210, MaterialIconSet.SHINY, "Ac(CO2)4");
    public static final SimpleDustMaterial ActiniumHydride = new SimpleDustMaterial("actinium_hydride", Actinium.materialRGB, (short) 211, MaterialIconSet.SHINY, "AcH3");
    public static final SimpleDustMaterial LanthanumFullereneMix = new SimpleDustMaterial("lanthanum_fullerene_mix", 0xdfcafa, (short) 212, MaterialIconSet.SHINY, "(C60)2La2?");
    public static final SimpleDustMaterial LanthanumEmbeddedFullerene = new SimpleDustMaterial("lanthanum_embedded_fullerene", 0x99cc00, (short) 213, MaterialIconSet.SHINY, "(C60)2La2");
    public static final SimpleDustMaterial IronIodide = new SimpleDustMaterial("iron_iodide", (Iron.materialRGB+Iodine.materialRGB)/2, (short) 214, MaterialIconSet.ROUGH, "FeI2");
    public static final SimpleDustMaterial PotassiumIodide = new SimpleDustMaterial("potassium_iodide", (Potassium.materialRGB+Iodine.materialRGB)/2, (short) 215, MaterialIconSet.ROUGH, "KI");
    public static final SimpleDustMaterial ThalliumIodide = new SimpleDustMaterial("thallium_iodide", (Thallium.materialRGB+Iodine.materialRGB)/2, (short) 216, MaterialIconSet.ROUGH, "TlI");
    public static final SimpleDustMaterial ScandiumIodide = new SimpleDustMaterial("scandium_iodide", (Scandium.materialRGB+Iodine.materialRGB)/2, (short) 217, MaterialIconSet.ROUGH, "ScI3");
    public static final SimpleDustMaterial RubidiumIodide = new SimpleDustMaterial("rubidium_iodide", (Rubidium.materialRGB+Iodine.materialRGB)/2, (short) 218, MaterialIconSet.ROUGH, "RbI");
    public static final SimpleDustMaterial IndiumIodide = new SimpleDustMaterial("indium_iodide", (Indium.materialRGB+Iodine.materialRGB)/2, (short) 219, MaterialIconSet.ROUGH, "InI3");
    public static final SimpleDustMaterial GalliumIodide = new SimpleDustMaterial("gallium_iodide", (Gallium.materialRGB+Iodine.materialRGB)/2, (short) 220, MaterialIconSet.ROUGH, "GaI3");
    public static final SimpleDustMaterial UVAHalideMix = new SimpleDustMaterial("uva_halide_mix", (GalliumIodide.rgb+PotassiumIodide.rgb+Mercury.materialRGB)/3, (short) 221, MaterialIconSet.SHINY, "Hg(GaI3)KI");
    public static final SimpleDustMaterial WhiteHalideMix = new SimpleDustMaterial("white_halide_mix", (ScandiumIodide.rgb+PotassiumIodide.rgb+Mercury.materialRGB)/3, (short) 222, MaterialIconSet.SHINY, "Hg(ScI3)KI");
    public static final SimpleDustMaterial BlueHalideMix = new SimpleDustMaterial("blue_halide_mix", (IndiumIodide.rgb+PotassiumIodide.rgb+Mercury.materialRGB)/3, (short) 223, MaterialIconSet.SHINY, "Hg(InI3)KI");
    public static final SimpleDustMaterial GreenHalideMix = new SimpleDustMaterial("green_halide_mix", (ThalliumIodide.rgb+PotassiumIodide.rgb+Mercury.materialRGB)/3, (short) 224, MaterialIconSet.SHINY, "Hg(TlI)KI");
    public static final SimpleDustMaterial RedHalideMix = new SimpleDustMaterial("red_halide_mix", (RubidiumIodide.rgb+PotassiumIodide.rgb+Mercury.materialRGB)/3, (short) 225, MaterialIconSet.SHINY, "Hg(RbI)KI");
    public static final SimpleDustMaterial CarbonylPurifiedIron = new SimpleDustMaterial("carbonyl_purified_iron", Iron.materialRGB, (short) 226, MaterialIconSet.SHINY, "Fe");
    public static final SimpleDustMaterial BariumTriflate = new SimpleDustMaterial("barium_triflate", (Barium.materialRGB+Fluorine.materialRGB)/2, (short) 227, MaterialIconSet.SHINY, "Ba(OSO2CF3)2");
    public static final SimpleDustMaterial ScandiumTriflate = new SimpleDustMaterial("scandium_triflate", 0xdfcfcf, (short) 228, MaterialIconSet.SHINY, "Sc(OSO2CF3)3");
    public static final SimpleDustMaterial SodiumThiosulfate = new SimpleDustMaterial("sodium_thiosulfate", 0x2090fc, (short) 229, MaterialIconSet.FINE, "Na2S2O3");
    public static final SimpleDustMaterial TitaniumCyclopentadienyl = new SimpleDustMaterial("titanium_cyclopentadienyl", 0xbc30bc, (short) 230, MaterialIconSet.SHINY, "(C5H5)2Cl2Ti");
    public static final SimpleDustMaterial SodiumBromide = new SimpleDustMaterial("sodium_bromide", 0xfeaffc, (short) 231, MaterialIconSet.ROUGH, "NaBr");
    public static final SimpleDustMaterial FranciumCarbide = new SimpleDustMaterial("francium_carbide", Francium.materialRGB, (short) 232, MaterialIconSet.SHINY, "Fr2C2");
    public static final SimpleDustMaterial BoronCarbide = new SimpleDustMaterial("boron_carbide", 0x303030, (short) 233, MaterialIconSet.FINE, "B4C3");
    public static final SimpleDustMaterial BoronFranciumCarbide = new SimpleDustMaterial("boron_francium_carbide", 0x808080, (short) 234, MaterialIconSet.SHINY, "Fr4B4C7");
    public static final SimpleDustMaterial MixedAstatideSalts = new SimpleDustMaterial("mixed_astatide_salts", 0x6df63f, (short) 235, MaterialIconSet.SHINY, "(At3)(Ho)(Th)(Cn)(Fl)");
    public static final SimpleDustMaterial SodiumIodide = new SimpleDustMaterial("sodium_iodide", 0x555588, (short) 236, MaterialIconSet.ROUGH, "NaI");
    public static final SimpleDustMaterial SodiumIodate = new SimpleDustMaterial("sodium_iodate", 0x11116d, (short) 237, MaterialIconSet.ROUGH, "NaIO3");
    public static final SimpleDustMaterial SodiumPeriodate = new SimpleDustMaterial("sodium_periodate", 0x11116d, (short) 238, MaterialIconSet.SHINY, "NaIO4");
    public static final SimpleDustMaterial SodiumSeaborgate = new SimpleDustMaterial("sodium_seaborgate", 0x55bbd4, (short) 239, MaterialIconSet.SHINY, "Na2SgO4");
    public static final SimpleDustMaterial OsmiumTetroxide = new SimpleDustMaterial("osmium_tetroxide", 0x82cbd6, (short) 240, MaterialIconSet.SHINY, "OsO4");
    public static final SimpleDustMaterial StrontiumChloride = new SimpleDustMaterial("strontium_chloride", 0x3a9aba, (short) 241, MaterialIconSet.SHINY, "SrCl2");
    public static final SimpleDustMaterial YttriumEuropiumVanadate = new SimpleDustMaterial("yttrium_europium_vanadate", (Yttrium.materialRGB+ Europium.materialRGB+Vanadium.materialRGB)/3, (short) 242, MaterialIconSet.SHINY, "YEuVO4");
    public static final SimpleDustMaterial StrontiumEuropiumAluminate = new SimpleDustMaterial("strontium_europium_aluminate", (Strontium.materialRGB+ Europium.materialRGB+Aluminium.materialRGB)/3, (short) 243, MaterialIconSet.SHINY, "SrEuAl2O4");
    public static final SimpleDustMaterial BariumStrontiumTitanate = new SimpleDustMaterial("barium_strontium_titanate", 0xFF0066, (short) 244, MaterialIconSet.SHINY, "BaO4SrTi");
    public static final SimpleDustMaterial PotassiumManganate = new SimpleDustMaterial("potassium_manganate", 0xaf20af, (short) 246, MaterialIconSet.DULL, "K2MnO4");
    public static final SimpleDustMaterial BariumChloride = new SimpleDustMaterial("barium_chloride", (Barium.materialRGB+Chlorine.materialRGB)/2, (short) 247, MaterialIconSet.SHINY, "BaCl2");
    public static final SimpleDustMaterial TantalumOxide = new SimpleDustMaterial("tantalum_oxide", (Tantalum.materialRGB+Oxygen.materialRGB)/2, (short) 248, MaterialIconSet.SHINY, "Ta2O5");
    public static final SimpleDustMaterial ZirconylChloride = new SimpleDustMaterial("zirconyl_chloride", ZirconiumTetrachloride.rgb, (short) 249, MaterialIconSet.SHINY, "ZrOCl2");
    public static final SimpleDustMaterial LeadSenenide = new SimpleDustMaterial("lead_selenide", (Lead.materialRGB+Selenium.materialRGB)/2, (short) 250, MaterialIconSet.ROUGH, "PbSe");
    public static final SimpleDustMaterial LeadScandiumTantalate = new SimpleDustMaterial("lead_scandium_tantalate", (Lead.materialRGB+Scandium.materialRGB+Tantalum.materialRGB)/3, (short) 251, MaterialIconSet.SHINY, "Pb(ScTa)O3");
    public static final SimpleDustMaterial BETS = new SimpleDustMaterial("bets", 0x7ada00, (short) 253, MaterialIconSet.SHINY, "C10H8S4Se4");
    public static final SimpleDustMaterial MagnetorestrictiveAlloy = new SimpleDustMaterial("magnetorestrictive_alloy", 0xafefef, (short) 252, MaterialIconSet.ROUGH, "Tb4Dy7Fe10Co5B2SiC");
    public static final SimpleDustMaterial BoronOxide = new SimpleDustMaterial("boron_oxide",(Boron.materialRGB+Oxygen.materialRGB)/2,(short) 256,MaterialIconSet.ROUGH, "B2O3");
    public static final SimpleDustMaterial LithiumAluminiumFluoride = new SimpleDustMaterial("lithium_aluminium_fluoride",(Lithium.materialRGB+Aluminium.materialRGB+Fluorine.materialRGB)/3,(short) 263,MaterialIconSet.ROUGH, "AlF4Li");
    public static final SimpleDustMaterial HafniumCarbide = new SimpleDustMaterial("hafnium_carbide",0x2c2c2c,(short) 264,MaterialIconSet.SHINY, "HfC");
    public static final SimpleDustMaterial TantalumCarbide = new SimpleDustMaterial("tantalum_carbide",0x2c2c2c,(short) 265,MaterialIconSet.SHINY, "TaC");
    public static final SimpleDustMaterial SeaborgiumCarbide = new SimpleDustMaterial("seaborgium_carbide",0x2c2c2c,(short) 266,MaterialIconSet.SHINY, "SgC");
    public static final SimpleDustMaterial AluminiumNitrate = new SimpleDustMaterial("aluminium_nitrate",Alumina.rgb,(short) 267,MaterialIconSet.SHINY, "Al(NO3)3");
    public static final SimpleDustMaterial NeodymiumDopedYttrium = new SimpleDustMaterial("neodymium_doped_yttrium",YttriumOxide.materialRGB,(short) 268,MaterialIconSet.DULL, "Nd:Y?");
    public static final SimpleDustMaterial NdYAGNanoparticles = new SimpleDustMaterial("nd_yag_nanoparticles",0x6f20af,(short) 269,MaterialIconSet.SHINY, "Nd:YAG");
    public static final SimpleDustMaterial PotassiumPermanganate = new SimpleDustMaterial("potassium_permanganate",PotassiumManganate.rgb-15,(short) 270,MaterialIconSet.ROUGH, "KMnO4");
    public static final SimpleDustMaterial Urea = new SimpleDustMaterial("urea",0x30cf20,(short) 271,MaterialIconSet.ROUGH, "CH4N2O");
    //FREE IDs 272-274
    public static final SimpleDustMaterial FluoroapatiteSolidResidue = new SimpleDustMaterial("fluoroapatite_solid_residue",0x3cb290,(short) 275,MaterialIconSet.SHINY, "Ca6PO4SiO3F");
    public static final SimpleDustMaterial ApatiteSolidResidue = new SimpleDustMaterial("apatite_solid_residue",0x3cb290,(short) 319,MaterialIconSet.FINE, "Ca6PO4SiO3");
    public static final SimpleDustMaterial AmmoniumBifluoride = new SimpleDustMaterial("ammonium_bifluoride",0x20cfcf,(short) 276,MaterialIconSet.ROUGH, "NH4HF2");
    public static final SimpleDustMaterial SodiumArsenate = new SimpleDustMaterial("sodium_arsenate",0xbffabf,(short) 277,MaterialIconSet.METALLIC, "Na3AsO4");
    public static final SimpleDustMaterial PrHoYLFNanoparticles = new SimpleDustMaterial("prho_ylf_nanoparticles",0xcf8acf,(short) 278,MaterialIconSet.SHINY, "Pr/Ho:YLF");
    public static final SimpleDustMaterial LuTmYVONanoparticles = new SimpleDustMaterial("lutm_yvo_nanoparticles",0x206faf,(short) 279,MaterialIconSet.SHINY, "Lu/Tm:YVO");
    public static final SimpleDustMaterial PureSodiumVanadate = new SimpleDustMaterial("pure_sodium_vanadate", SodiumVanadate.rgb, (short) 280,MaterialIconSet.SHINY, "Na3VO4");
    public static final SimpleDustMaterial AmmoniumCarbonate = new SimpleDustMaterial("ammonium_carbonate", AmmoniumSulfate.rgb, (short) 281,MaterialIconSet.DULL, "(NH4)2CO3");
    public static final SimpleDustMaterial CadmiumSulfide = new SimpleDustMaterial("cadmium_sulfide",0xffff00,(short) 282,MaterialIconSet.ROUGH, "CdS");
    public static final SimpleDustMaterial UnprocessedNdYAGDust = new SimpleDustMaterial("unprocessed_ndyag_dust",0x6f20af,(short) 283,MaterialIconSet.DULL, "Nd:YAG?");
    public static final SimpleDustMaterial LuTmYVOPrecipitate = new SimpleDustMaterial("lutm_yvo_precipitate",0xcf8acf,(short) 318,MaterialIconSet.DULL, "Lu/Tm:YVO?");
    public static final SimpleDustMaterial RawSienna = new SimpleDustMaterial("raw_siena",0x663300,(short) 284,MaterialIconSet.ROUGH, "SiO2(MnO2)(FeO2)");
    public static final SimpleDustMaterial BurnedSienna = new SimpleDustMaterial("burned_siena",0xff0000,(short) 285,MaterialIconSet.DULL, "SiO2(MnO2)(FeO2)");
    public static final SimpleDustMaterial BismuthVanadate = new SimpleDustMaterial("bismuth_vanadate",0xffff00,(short) 286,MaterialIconSet.SHINY, "BiVO4");
    public static final SimpleDustMaterial CopperArsenite = new SimpleDustMaterial("copper_arsenite",0x66ff66,(short) 287,MaterialIconSet.ROUGH, "Cu3(AsO4)2");
    public static final SimpleDustMaterial MercuryIodide = new SimpleDustMaterial("mercury_iodide",0xff0000,(short) 288,MaterialIconSet.DULL, "HgI2");
    public static final SimpleDustMaterial TitaniumYellow = new SimpleDustMaterial("titanium_yellow",0xffff00,(short) 289,MaterialIconSet.SHINY, "NiO(Sb2O3)(TiO2)20");
    public static final SimpleDustMaterial CobaltZincOxide = new SimpleDustMaterial("cobalt_zinc_oxide",0x00ffff,(short) 290,MaterialIconSet.SHINY, "CoZn4O5");
    public static final SimpleDustMaterial ScheelesGreen = new SimpleDustMaterial("scheeles_green",0x00ff00,(short) 291,MaterialIconSet.DULL, "AsCuHO3");
    public static final SimpleDustMaterial CobaltAluminate = new SimpleDustMaterial("cobalt_aluminate",0x0000ff,(short) 292,MaterialIconSet.FINE, "Al2Co2O5");
    public static final SimpleDustMaterial PotassiumFerrocyanide = new SimpleDustMaterial("potassium_ferrocyanide",0x0000ff,(short) 293,MaterialIconSet.ROUGH, "K4Fe(CN)6(H2O)3");
    public static final SimpleDustMaterial PrussianBlue = new SimpleDustMaterial("prussian_blue",0x0000ff,(short) 294,MaterialIconSet.DULL, "Fe4[Fe(CN)6]3");
    public static final SimpleDustMaterial AmmoniumManganesePhosphate = new SimpleDustMaterial("ammonium_manganese_phosphate",0x660066,(short) 295,MaterialIconSet.SHINY, "NH4MnPO4");
    public static final SimpleDustMaterial HanPurple = new SimpleDustMaterial("hans_purple",0x660066,(short) 296,MaterialIconSet.DULL, "BaCuSi2O6");
    public static final SimpleDustMaterial ChromeYellow = new SimpleDustMaterial("chrome_yellow",0xffff00,(short) 297,MaterialIconSet.DULL, "PbCrO4");
    public static final SimpleDustMaterial ChromeOrange = new SimpleDustMaterial("chrome_orange",0xff6600,(short) 298,MaterialIconSet.DULL, "Pb2CrO5");
    public static final SimpleDustMaterial DiaminostilbenedisulfonicAcid = new SimpleDustMaterial("diaminostilbenedisulfonic_acid",0xffffff,(short) 299,MaterialIconSet.DULL, "C14H14N2O6S2");
    public static final SimpleDustMaterial Nigrosin = new SimpleDustMaterial("nigrosin",0x000000,(short) 300,MaterialIconSet.DULL, "C36H26N5ClNa2S2O6");
    public static final SimpleDustMaterial DirectBrown = new SimpleDustMaterial("direct_brown",0x663300,(short) 301,MaterialIconSet.DULL, "C26H19N6NaO3S");
    public static final SimpleDustMaterial DianilineterephthalicAcid = new SimpleDustMaterial("dianilineterephthalic_acid",0xff0000,(short) 302,MaterialIconSet.DULL, "C20H16N2O4");
    public static final SimpleDustMaterial Quinacridone = new SimpleDustMaterial("quinacridone",0xff0000,(short) 303,MaterialIconSet.DULL, "C20H12N2O2");
    public static final SimpleDustMaterial DiarylideYellow = new SimpleDustMaterial("diarylide_yellow",0xffff00,(short) 304,MaterialIconSet.DULL, "C32H26Cl2N6O4");
    public static final SimpleDustMaterial AlizarineCyanineGreen = new SimpleDustMaterial("alizarine_cyanine_green",0x00ff00,(short) 305,MaterialIconSet.DULL, "C28H20N2Na2O8S2");
    public static final SimpleDustMaterial Aminoanthraquinone = new SimpleDustMaterial("aminoanthraquinone",0x0000ff,(short) 306,MaterialIconSet.DULL, "C14H9NO2");
    public static final SimpleDustMaterial IndanthroneBlue = new SimpleDustMaterial("indanthrone_blue",0x0000ff,(short) 307,MaterialIconSet.DULL, "C28H14N2O2");
    public static final SimpleDustMaterial Diketopyrrolopyrrole = new SimpleDustMaterial("diketopyrrolopyrrole",0xff6600,(short) 308,MaterialIconSet.DULL, "C18H12N2O2");
    public static final SimpleDustMaterial Mauveine = new SimpleDustMaterial("mauveine",0x660066,(short) 309,MaterialIconSet.DULL, "C26H23N4");
    public static final SimpleDustMaterial Indigo = new SimpleDustMaterial("indigo",0x0000ff,(short) 310,MaterialIconSet.DULL, "C16H10N2O2");
    public static final SimpleDustMaterial Tetrabromoindigo = new SimpleDustMaterial("tetrabromoindigo",0x00ff00,(short) 311,MaterialIconSet.DULL, "C16H6Br2N2O2");
    public static final SimpleDustMaterial CyanIndigoDye = new SimpleDustMaterial("cyan_indigo_dye",0x009999,(short) 312,MaterialIconSet.DULL, "(C16H10N2O2)2Br2");
    public static final SimpleDustMaterial Fluorescein = new SimpleDustMaterial("fluorescein",0x990000,(short) 313,MaterialIconSet.DULL, "C20H12O5");
    public static final SimpleDustMaterial Erythrosine = new SimpleDustMaterial("erythrosine",0xff00ff,(short) 314,MaterialIconSet.DULL, "C20H6I4Na2O5");
    public static final SimpleDustMaterial ManganeseIIIOxide = new SimpleDustMaterial("manganese_iii_oxide", Pyrolusite.materialRGB, (short) 315, MaterialIconSet.DULL, "Mn2O3");
    public static final SimpleDustMaterial MercuryChloride = new SimpleDustMaterial("mercury_chloride",0xd6b8ad,(short) 316,MaterialIconSet.ROUGH, "HgCl2");
    public static final SimpleDustMaterial SodiumSulfanilate = new SimpleDustMaterial("sodium_sulfanilate",0xe49879,(short) 317,MaterialIconSet.SHINY, "C6H6NNaO3S");
    public static final SimpleDustMaterial Anthraquinone = new SimpleDustMaterial("anthraquinone",0xfff782,(short) 320,MaterialIconSet.ROUGH, "C14H8O2");
    public static final SimpleDustMaterial LithiumHydride = new SimpleDustMaterial("lithium_hydride",(Lithium.materialRGB+Hydrogen.materialRGB)/2,(short) 321,MaterialIconSet.ROUGH, "LiH");
    public static final SimpleDustMaterial NiobiumChloride = new SimpleDustMaterial("niobium_chloride",Niobium.materialRGB,(short) 322, MaterialIconSet.SHINY, "NbCl5");
    public static final SimpleDustMaterial NiobiumHydroxide = new SimpleDustMaterial("niobium_hydroxide",0x7c7c7c,(short) 323,MaterialIconSet.ROUGH, "Nb(OH)5");
    public static final SimpleDustMaterial MagnesiumFluoride = new SimpleDustMaterial("magnesium_fluoride",0xcfcfcf,(short) 324,MaterialIconSet.SHINY, "MgF2");
    public static final SimpleDustMaterial ZincSulfide = new SimpleDustMaterial("zinc_sulfide",0x3c3c3c,(short) 325,MaterialIconSet.FINE, "ZnS");
    public static final SimpleDustMaterial LithiumNiobateNanoparticles = new SimpleDustMaterial("lithium_niobate_nanoparticles",LithiumNiobate.materialRGB-10,(short) 326,MaterialIconSet.SHINY, "LiNbO4");
    public static final SimpleDustMaterial LithiumHydroxide = new SimpleDustMaterial("lithium_hydroxide", (Lithium.materialRGB+Oxygen.materialRGB+Hydrogen.materialRGB)/3, (short) 327, MaterialIconSet.DULL, "LiOH");
    public static final SimpleDustMaterial RhReNqCatalyst = new SimpleDustMaterial("rhrenq_catalyst",(Rhenium.materialRGB+Rhodium.materialRGB+Naquadah.materialRGB)/3,(short) 328, MaterialIconSet.SHINY, "ReRhNq");
    public static final SimpleDustMaterial PalladiumAcetate = new SimpleDustMaterial("palladium_acetate",0xcc3300,(short) 329,MaterialIconSet.SHINY, "C4H6O4Pd");
    public static final SimpleDustMaterial FranciumCaesiumCadmiumBromide = new SimpleDustMaterial("francium_caesium_cadmium_bromide",(Francium.materialRGB+Caesium.materialRGB+Cadmium.materialRGB+Bromine.materialRGB)/4,(short) 330,MaterialIconSet.SHINY, "FrCsCf2Br6");
    public static final SimpleDustMaterial ZincSelenide = new SimpleDustMaterial("zinc_selenide",0xfcfc00,(short) 331,MaterialIconSet.FINE, "ZnSe");
    public static final SimpleDustMaterial RhodamineB = new SimpleDustMaterial("rhodamine_b",0xfc2020,(short) 332,MaterialIconSet.SHINY, "C28H31ClN2O3");
    public static final SimpleDustMaterial Stilbene = new SimpleDustMaterial("stilbene",0x3c9c3c,(short) 333,MaterialIconSet.SHINY, "C14H12");
    public static final SimpleDustMaterial Tetracene = new SimpleDustMaterial("tetracene",0x99801a,(short) 334,MaterialIconSet.SHINY, "C18H12");
    public static final SimpleDustMaterial DitertbutylDicarbonate = new SimpleDustMaterial("ditertbutyl_dicarbonate",0xccccf6,(short) 335, MaterialIconSet.ROUGH, "C10H18O5");
    public static final SimpleDustMaterial PotassiumBromide = new SimpleDustMaterial("potassium_bromide",0xe066a3,(short) 336,MaterialIconSet.FINE, "KBr");
    public static final SimpleDustMaterial PotassiumBromate = new SimpleDustMaterial("potassium_bromate",0x8a4cd1,(short) 337,MaterialIconSet.ROUGH, "KBrO3");
    public static final SimpleDustMaterial IBX = new SimpleDustMaterial("ibx",0x20208c,(short) 338,MaterialIconSet.SHINY, "C7H5IO4");
    public static final SimpleDustMaterial SodiumPertechnetate = new SimpleDustMaterial("sodium_pertechnetate",0x6162c4,(short) 339,MaterialIconSet.SHINY, "NaTcO4");
    public static final SimpleDustMaterial PotassiumPertechnate = new SimpleDustMaterial("potassium_pertechnate",0xdec451,(short) 340,MaterialIconSet.SHINY, "KTcO4");
    public static final SimpleDustMaterial PotassiumPerrhenate = new SimpleDustMaterial("potassium_perrhenate",0xdec451,(short) 341,MaterialIconSet.SHINY, "KReO4");
    public static final SimpleDustMaterial PotassiumNonahydridotechnetate = new SimpleDustMaterial("potassium_nonahydridotechnetate",0xede2a4,(short) 342,MaterialIconSet.SHINY, "H9K2TcO4");
    public static final SimpleDustMaterial PotassiumNonahydridorhenate = new SimpleDustMaterial("potassium_nonahydridorhenate",0xeae2a8,(short) 343,MaterialIconSet.SHINY, "H9K2ReO4");
    public static final SimpleDustMaterial LithiumIodide = new SimpleDustMaterial("lithium_iodide",(Lithium.materialRGB+Iodine.materialRGB),(short) 344,MaterialIconSet.ROUGH, "LiI");
    public static final SimpleDustMaterial PalladiumLoadedRutileNanoparticles = new SimpleDustMaterial("palladium_loaded_rutile_nanoparticles",(Palladium.materialRGB+Rutile.materialRGB),(short) 345,MaterialIconSet.FINE, "PdTiO2");
    public static final SimpleDustMaterial SaccharicAcid = new SimpleDustMaterial("saccharic_acid",Glucose.rgb,(short) 346,MaterialIconSet.METALLIC, "C6H10O8");
    public static final SimpleDustMaterial AdipicAcid = new SimpleDustMaterial("adipic_acid",0xda9288,(short) 347,MaterialIconSet.ROUGH, "C6H10O4");
    public static final SimpleDustMaterial TetraethylammoniumNonahydridides = new SimpleDustMaterial("tetraethylammonium_nonahydrides",0xbee8b9,(short) 348,MaterialIconSet.SHINY, "(C8H20N)(ReH9)(TcH9)");
    public static final SimpleDustMaterial ManganeseFluoride = new SimpleDustMaterial("manganese_fluoride",Pyrolusite.materialRGB,(short) 349,MaterialIconSet.ROUGH, "MnF2");
    public static final SimpleDustMaterial GermaniumSulfide = new SimpleDustMaterial("germanium_sulfide",GermaniumOxide.rgb,(short) 350,MaterialIconSet.ROUGH, "GeS2");
    public static final SimpleDustMaterial BismuthGermanate = new SimpleDustMaterial("bismuth_germanate",0x94cf5c,(short) 351,MaterialIconSet.ROUGH, "Bi12GeO20");
    public static final SimpleDustMaterial CesiumIodide = new SimpleDustMaterial("cesium_iodide",CaesiumHydroxide.rgb,(short) 352, MaterialIconSet.SHINY, "CsI");
    public static final SimpleDustMaterial TlTmCesiumIodide = new SimpleDustMaterial("tl_tm_cesium_iodide",CaesiumHydroxide.rgb*9/10+Thallium.materialRGB/10,(short) 353,MaterialIconSet.SHINY, "CsITlTm");
    public static final SimpleDustMaterial CadmiumTungstate = new SimpleDustMaterial("cadmium_tungstate",CalciumTungstate.materialRGB,(short) 354,MaterialIconSet.SHINY, "CdWO4");
    public static final SimpleDustMaterial PolycyclicAromaticMix = new SimpleDustMaterial("polycyclic_aromatic_mix",Tetracene.rgb,(short) 355,MaterialIconSet.ROUGH, "C18H12");
    public static final SimpleDustMaterial SodiumOxide = new SimpleDustMaterial("sodium_oxide", 0x0373fc, (short) 356, MaterialIconSet.SHINY, "Na2O");
    public static final SimpleDustMaterial GrapheneOxide = new SimpleDustMaterial("graphene_oxide",Graphene.materialRGB,(short) 357,MaterialIconSet.ROUGH, "C(O2)");
    public static final SimpleDustMaterial GraphiteOxide = new SimpleDustMaterial("graphite_oxide", Graphite.materialRGB, (short) 358,MaterialIconSet.FINE, "C(O2)");
    public static final SimpleDustMaterial ChromiumIIIOxide = new SimpleDustMaterial("chromium_iii_oxide",0x4bf25f,(short) 359,MaterialIconSet.ROUGH,"Cr2O3");
    public static final SimpleDustMaterial GrapheneGelSuspension = new SimpleDustMaterial("graphene_gel_suspension",0xadadad,(short) 360,MaterialIconSet.ROUGH, "C");
    public static final SimpleDustMaterial DryGrapheneGel = new SimpleDustMaterial("dry_graphene_gel",0x3a3ada,(short) 361,MaterialIconSet.DULL, "C");
    public static final SimpleDustMaterial SodiumPerchlorate = new SimpleDustMaterial("sodium_perchlorate", Salt.materialRGB,(short) 376, MaterialIconSet.SHINY, "NaClO4");
    public static final SimpleDustMaterial Lanthanoids = new SimpleDustMaterial("lanthanoids",(Lanthanum.materialRGB+Cerium.materialRGB+Praseodymium.materialRGB+Neodymium.materialRGB+Promethium.materialRGB+Samarium.materialRGB+Europium.materialRGB+Gadolinium.materialRGB+Terbium.materialRGB+Dysprosium.materialRGB+Holmium.materialRGB+Erbium.materialRGB+Thulium.materialRGB+Ytterbium.materialRGB+Lutetium.materialRGB)/15,(short) 362,MaterialIconSet.SHINY, "LaPrNdPmSmEuGdTbDyHoErTmYbLu");
    public static final SimpleDustMaterial Actinoids = new SimpleDustMaterial("actinoids",(Actinium.materialRGB+Thorium.materialRGB+Protactinium.getMaterial().materialRGB+Uranium.materialRGB+Neptunium.getMaterial().materialRGB+Plutonium.materialRGB+Americium.materialRGB+Curium.getMaterial().materialRGB+Berkelium.getMaterial().materialRGB+Californium.getMaterial().materialRGB+Einsteinium.getMaterial().materialRGB+Fermium.getMaterial().materialRGB+Mendelevium.getMaterial().materialRGB)/13,(short) 363,MaterialIconSet.SHINY, "AcThPaNpPuAmCmBkCfEsFmMd");
    public static final SimpleDustMaterial Alkalis = new SimpleDustMaterial("alkalis",(Lithium.materialRGB+Beryllium.materialRGB+Sodium.materialRGB+Magnesium.materialRGB+Potassium.materialRGB+Calcium.materialRGB+Scandium.materialRGB+Rubidium.materialRGB+Strontium.materialRGB+Yttrium.materialRGB+Caesium.materialRGB+Barium.materialRGB+Francium.materialRGB+Radium.materialRGB)/12, (short) 364, MaterialIconSet.SHINY, "LiBeNaMgKCaScRbSrYCeBaFrRa");
    public static final SimpleDustMaterial PreciousMetals = new SimpleDustMaterial("precious_metals",(Ruthenium.materialRGB+Rhodium.materialRGB+Palladium.materialRGB+Silver.materialRGB+Rhenium.materialRGB+Osmium.materialRGB+Iridium.materialRGB+Platinum.materialRGB+Gold.materialRGB)/9, (short) 365, MaterialIconSet.SHINY, "RuRhPdAgReOsIrPtAu");
    public static final SimpleDustMaterial LightTranstionMetals = new SimpleDustMaterial("light_transition_metals",(Titanium.materialRGB+Vanadium.materialRGB+Chrome.materialRGB+Manganese.materialRGB+Iron.materialRGB+Cobalt.materialRGB+Nickel.materialRGB+Copper.materialRGB)/8,(short) 366, MaterialIconSet.SHINY, "TiVCrMnFeCoNiCu");
    public static final SimpleDustMaterial RefractoryMetals = new SimpleDustMaterial("refractory_metals",(Zirconium.materialRGB+ Niobium.materialRGB+Molybdenum.materialRGB+Technetium.materialRGB+Hafnium.materialRGB+Tantalum.materialRGB+Tungsten.materialRGB)/7, (short) 367, MaterialIconSet.SHINY, "ZrNbMoTcHfTaW");
    public static final SimpleDustMaterial PostTransitionMetals = new SimpleDustMaterial("post_transition_metals",(Aluminium.materialRGB+Silicon.materialRGB+Zinc.materialRGB+Gallium.materialRGB+Germanium.materialRGB+Cadmium.materialRGB+Indium.materialRGB+Tin.materialRGB+Antimony.materialRGB+Mercury.materialRGB+Thallium.materialRGB+Lead.materialRGB+Bismuth.materialRGB+Polonium.materialRGB)/14, (short) 368, MaterialIconSet.SHINY, "AlSiZnGaGeCdInSnSbHgTlPbBiPo");
    public static final SimpleDustMaterial MercuryAcetate = new SimpleDustMaterial("mercury_acetate",0xcc8562, (short) 369, MaterialIconSet.ROUGH, "Hg(CH3COO)2");
    public static final SimpleDustMaterial CalciumCyanamide = new SimpleDustMaterial("calcium_cyanamide", CalciumCarbide.rgb, (short) 370, MaterialIconSet.SHINY, "CaCN2");
    public static final SimpleDustMaterial SelectivelyMutatedCupriavidiusNecator = new SimpleDustMaterial("selectively_mutated_cupriavidius_necator", CupriavidusNecator.rgb * 5 / 4, (short) 373, MaterialIconSet.SHINY, "Bacteria");
    public static final SimpleDustMaterial PurifiedColumbite = new SimpleDustMaterial("purified_columbite", LeachedColumbite.rgb, (short) 371, MaterialIconSet.SHINY, "Ta2O5Nb18O45");
    public static final SimpleDustMaterial PurifiedPyrochlore = new SimpleDustMaterial("purified_pyrochlore", LeachedPyrochlore.rgb, (short) 372, MaterialIconSet.SHINY, "Ta2O5Nb18O45");
    public static final SimpleDustMaterial ChargedCesiumCeriumCobaltIndium = new SimpleDustMaterial("charged_cesium_cerium_cobalt_indium", 0x52ad25, (short) 380, MaterialIconSet.SHINY, "CsCeCo2In10");
    public static final SimpleDustMaterial RheniumChloride = new SimpleDustMaterial("rhenium_chloride", 0x3c2a5c, (short) 381, MaterialIconSet.SHINY, "ReCl5");
    public static final SimpleDustMaterial AntimonyTrichloride = new SimpleDustMaterial("antimony_trichloride", AntimonyTrifluoride.rgb, (short) 382, MaterialIconSet.SHINY, "SbCl3");
    public static final SimpleDustMaterial LithiumCobaltOxide = new SimpleDustMaterial("lithium_cobalt_oxide",0xd2a4f3,(short) 387, MaterialIconSet.SHINY, "LiCoO");
    public static final SimpleDustMaterial LithiumTriflate = new SimpleDustMaterial("lithium_triflate",0xe2dae3, (short) 388, MaterialIconSet.SHINY, "LiCSO3F3");
    public static final SimpleDustMaterial Xylose = new SimpleDustMaterial("xylose", Glucose.rgb,(short) 389, MaterialIconSet.ROUGH, "C5H10O5");
    public static final SimpleDustMaterial SiliconNanoparticles = new SimpleDustMaterial("silicon_nanoparticles",Silicon.materialRGB,(short) 390, MaterialIconSet.SHINY, "Si?");
    public static final SimpleDustMaterial Halloysite = new SimpleDustMaterial("halloysite", 0x23423a, (short) 391, MaterialIconSet.ROUGH, "Al9Si10O50Ga");
    public static final SimpleDustMaterial GalliumChloride = new SimpleDustMaterial("gallium_chloride", 0x92867a, (short) 392, MaterialIconSet.ROUGH, "GaCl3");
    public static final SimpleDustMaterial SulfurCoatedHalloysite = new SimpleDustMaterial("sulfur_coated_halloysite", 0x23973a, (short) 393, MaterialIconSet.ROUGH, "S2C2(Al9Si10O50Ga)");
    public static final SimpleDustMaterial FluorideBatteryElectrolyte = new SimpleDustMaterial("fluoride_battery_electrolyte", 0x9a628a, (short) 394, MaterialIconSet.SHINY, "La9BaF29(C8H7F)");
    public static final SimpleDustMaterial LanthanumNickelOxide = new SimpleDustMaterial("lanthanum_nickel_oxide", Garnierite.materialRGB/2+Lanthanum.materialRGB/2, (short) 395, MaterialIconSet.SHINY, "La2NiO4");
    public static final SimpleDustMaterial Sorbose = new SimpleDustMaterial("sorbose", Glucose.rgb, (short) 396, MaterialIconSet.DULL, "C6H12O6");
    public static final SimpleDustMaterial CalciumAlginate = new SimpleDustMaterial("calcium_alginate",0x654321, (short) 397, MaterialIconSet.ROUGH, "CaC12H14O12");
    public static final SimpleDustMaterial NickelOxideHydroxide = new SimpleDustMaterial("nickel_oxide_hydroxide",0xa2f2a2,(short) 398, MaterialIconSet.METALLIC, "NiO(OH)");
    public static final SimpleDustMaterial BETSPerrhenate = new SimpleDustMaterial("bets_perrhenate", 0x7ada00, (short) 255, MaterialIconSet.SHINY, "ReC10H8S4Se4O4");
    public static final SimpleDustMaterial TBCCODust = new SimpleDustMaterial("tbcco_dust", 0x669900, (short) 257, MaterialIconSet.SHINY, "TlBa2Ca2Cu3O10");
    public static final SimpleDustMaterial BorocarbideDust = new SimpleDustMaterial("borocarbide_dust", 0x9a9a2a, (short) 258, MaterialIconSet.SHINY, "B4C7Fr4At6Ho2Th2Fl2Cn2");
    public static final SimpleDustMaterial ActiniumSuperhydride = new SimpleDustMaterial("actinium_superhydride", Actinium.materialRGB * 9 / 8, (short) 259, MaterialIconSet.SHINY, "AcH12");
    public static final SimpleDustMaterial StrontiumSuperconductorDust = new SimpleDustMaterial("strontium_superconductor_dust", 0x45abf4, (short) 260, MaterialIconSet.SHINY, "Sr2RuSgO8");
    public static final SimpleDustMaterial FullereneSuperconductiveDust = new SimpleDustMaterial("fullerene_superconductor_dust", 0x99cc00, (short) 261, MaterialIconSet.SHINY, "LaCsRb(C60)2");
    public static final SimpleDustMaterial HassiumChloride = new SimpleDustMaterial("hassium_chloride", 0x5d2abc, (short) 383, MaterialIconSet.SHINY, "HsCl4");
    public static final SimpleDustMaterial RheniumHassiumThalliumIsophtaloylbisdiethylthioureaHexafluorophosphate = new SimpleDustMaterial("rhenium_hassium_thallium_isophtaloylbisdiethylthiourea", 0xa26a8b,(short) 384, MaterialIconSet.SHINY, "ReHsTlC60PN12H84S6O12F6");
    public static final SimpleDustMaterial Legendarium = new SimpleDustMaterial("legendarium", 0xffffff, (short) 385, MaterialIconSet.SHINY, "NqNq+*Nq*DrTrKeTnAdVb");
    public static final SimpleDustMaterial LanthanumFullereneNanotubes = new SimpleDustMaterial("lanthanum_fullerene_nanotubes", LanthanumFullereneMix.rgb*3/5, (short) 386, MaterialIconSet.SHINY, "La2(C60)2CNT");
    public static final SimpleDustMaterial SodiumMetavanadate = new SimpleDustMaterial("sodium_metavanadate", SodaAsh.materialRGB,(short) 262, MaterialIconSet.FINE, "NaVO3");
    public static final SimpleDustMaterial PotassiumPeroxymonosulfate = new SimpleDustMaterial("potassium_peroxymonosulfate", (PotassiumMetabisulfite.materialRGB + 20), (short) 374, MaterialIconSet.FINE, "KHSO5");
    public static final SimpleDustMaterial CoAcABCatalyst = new SimpleDustMaterial("coacab_catalyst", 0x755f30, (short) 900, MaterialIconSet.FINE, "Co/AC-AB");
    public static final SimpleDustMaterial SilverPerchlorate = new SimpleDustMaterial("silver_perchlorate", SilverChloride.materialRGB, (short) 902, MaterialIconSet.SHINY, "AgClO4");
    public static final SimpleDustMaterial SodiumChlorate = new SimpleDustMaterial("sodium_chlorate", Salt.materialRGB, (short) 901, MaterialIconSet.ROUGH, "NaClO3");
    public static final SimpleDustMaterial CopperLeach = new SimpleDustMaterial("copper_leach", 0x765A30, (short) 903, MaterialIconSet.SHINY, "Cu3?");
    public static final SimpleDustMaterial GoldLeach = new SimpleDustMaterial("gold_leach", 0xBBA52B, (short) 904, MaterialIconSet.ROUGH, "Cu3Au?");
    public static final SimpleDustMaterial Durene = new SimpleDustMaterial("durene", 0xA39C95, (short) 905, MaterialIconSet.ROUGH, "C6H2(CH3)4");
    public static final SimpleDustMaterial PyromelliticDianhydride = new SimpleDustMaterial("pyromellitic_dianhydride", 0xF0EAD6, (short) 906, MaterialIconSet.SHINY, "C6H2(C2O3)2");
    public static final SimpleDustMaterial CaliforniumTrioxide = new SimpleDustMaterial("californiumtrioxide", 0x7cc922, (short) 907, MaterialIconSet.ROUGH, "Cf2O3");
    public static final SimpleDustMaterial CaliforniumTrichloride = new SimpleDustMaterial("californiumtrichloride", 0x3e9837, (short) 908, MaterialIconSet.ROUGH, "CfCl3");
    public static final SimpleDustMaterial IridiumTrioxide = new SimpleDustMaterial("iridiumtrioxide", 0x9a9a2b, (short) 909, MaterialIconSet.ROUGH,"Ir2O3");
    public static final SimpleDustMaterial PotassiumHydroxylaminedisulfonate = new SimpleDustMaterial("potassium_hydroxylaminedisulfonate", (0xF0EAD6 + NitrousAcid.rgb)/2, (short) 910, MaterialIconSet.DULL, "KHSO3");
    public static final SimpleDustMaterial SuccinicAnhydride = new SimpleDustMaterial("succinic_anhydride", (SuccinicAcid.rgb + AceticAnhydride.rgb)/2, (short) 911, MaterialIconSet.DULL, "(CH2CO)2O");
    public static final SimpleDustMaterial AmmoniumAcetate = new SimpleDustMaterial("ammonium_acetate", 0xb6dee0, (short) 912, MaterialIconSet.DULL, "NH4CH3CO2");
    public static final SimpleDustMaterial Acetamide = new SimpleDustMaterial("acetamide", 0xa6bebf, (short) 913, MaterialIconSet.DULL, "CH3CONH2");
    public static final SimpleDustMaterial Acetonitrile = new SimpleDustMaterial("acetonitrile", 0xa2afb0, (short) 914, MaterialIconSet.DULL, "CH3CN");
    public static final SimpleDustMaterial NHydroxysuccinimide = new SimpleDustMaterial("n-hydroxysuccinimide", 0xdbcae3, (short) 915, MaterialIconSet.DULL, "(CH2CO)2NOH");
    public static final SimpleDustMaterial Hexabenzylhexaazaisowurtzitane = new SimpleDustMaterial("hexabenzylhexaazaisowurtzitane", 0x624573, (short) 916, MaterialIconSet.DULL, "C48N6H48");
    public static final SimpleDustMaterial SuccinimidylAcetate = new SimpleDustMaterial("succinimidyl_acetate", 0xbd93a6, (short) 917, MaterialIconSet.DULL, "C6H7NO4");
    public static final SimpleDustMaterial DibenzylTetraacetylhexaazaisowurtzitane = new SimpleDustMaterial("dibenzyltetraacetylhexaazaisowurtzitane", 0xb3c98b, (short) 918, MaterialIconSet.DULL, "C28N6H32O4");
    public static final SimpleDustMaterial HexanitroHexaazaisowurtzitane = new SimpleDustMaterial("hexanitrohexaazaisowurtzitane", 0x414a4f, (short) 919, MaterialIconSet.SHINY, "C6H6N12O12");
    public static final SimpleDustMaterial NitroniumTetrafluoroborate = new SimpleDustMaterial("nitronium_tetrafluoroborate", 0x686c6e, (short) 920, MaterialIconSet.DULL, "NO2BF4");
    public static final SimpleDustMaterial NitrosoniumTetrafluoroborate = new SimpleDustMaterial("nitrosonium_tetrafluoroborate", 0x7e8d94, (short) 921, MaterialIconSet.DULL, "NOBF4");
    public static final SimpleDustMaterial Hexamethylenetetramine = new SimpleDustMaterial("hexamethylenetetramine", 0x7e8d94, (short) 922, MaterialIconSet.DULL, "(CH2)6N4");
    public static final SimpleDustMaterial PdCCatalyst = new SimpleDustMaterial("pdc_catalyst", (Palladium.materialRGB + Carbon.materialRGB)/2, (short) 923, MaterialIconSet.DULL, "PdC");
    public static final SimpleDustMaterial Tetraacetyldinitrosohexaazaisowurtzitane = new SimpleDustMaterial("tetraacetyldinitrosohexaazaisowurtzitane",(DibenzylTetraacetylhexaazaisowurtzitane.rgb+Hexabenzylhexaazaisowurtzitane.rgb)/2,(short) 924, MaterialIconSet.DULL, "C14N8H18O6");
    public static final SimpleDustMaterial CrudeHexanitroHexaazaisowurtzitane = new SimpleDustMaterial("crude_hexanitrohexaazaisowurtzitane", HexanitroHexaazaisowurtzitane.rgb*5/7, (short) 925, MaterialIconSet.DULL, "C6H6N12O12");
    public static final SimpleDustMaterial PotassiumBisulfite = new SimpleDustMaterial("potassium_bisulfite", 0xF0EAD6, (short) 926, MaterialIconSet.DULL, "KHSO3");
    public static final SimpleDustMaterial PotassiumNitrite = new SimpleDustMaterial("potassium_nitrite", 0xF0EAD6, (short) 927, MaterialIconSet.DULL, "KNO2");
    public static final SimpleDustMaterial HydroxylammoniumSulfate = new SimpleDustMaterial("hydroxylammonium_sulfate", 0xF0EAD6, (short) 928, MaterialIconSet.DULL, "(NH3OH)2SO4");
    public static final SimpleDustMaterial SodiumBorohydride = new SimpleDustMaterial("sodium_borohydride", 0xc2c2fa, (short) 929, MaterialIconSet.ROUGH, "NaBH4");
    public static final SimpleDustMaterial SodiumTetrafluoroborate = new SimpleDustMaterial("sodium_tetrafluoroborate", (SodiumBorohydride.rgb+Fluorine.materialRGB)/2, (short) 930, MaterialIconSet.DULL, "NaBF4");
    public static final SimpleDustMaterial Decaborane = new SimpleDustMaterial("decaborane", Diborane.rgb, (short) 931, MaterialIconSet.DULL, "B10H14");
    public static final SimpleDustMaterial CesiumCarboranePrecusor = new SimpleDustMaterial("cesium_carborane_precursor", 0xb56487, (short) 932, MaterialIconSet.ROUGH, "CsB10H12CN(CH3)3Cl");
    public static final SimpleDustMaterial CesiumCarborane = new SimpleDustMaterial("cesium_carborane", CesiumCarboranePrecusor.rgb*6/5, (short) 933, MaterialIconSet.DULL, "CsCB11H12");
    public static final SimpleDustMaterial Fluorocarborane = new SimpleDustMaterial("fluorocarborane", 0x20EB7A, (short) 934, MaterialIconSet.SHINY, "HCHB11F11");
    public static final SimpleDustMaterial CaesiumNitrate = new SimpleDustMaterial("caesium_nitrate", 0x7452DC, (short) 935, MaterialIconSet.ROUGH, "CsNO3");
    public static final SimpleDustMaterial SilverIodide = new SimpleDustMaterial("silver_iodide", (SilverChloride.materialRGB*2+Iodine.materialRGB)/3, (short) 936, MaterialIconSet.ROUGH, "AgI");
    public static final SimpleDustMaterial ActiniumTriniumHydroxides = new SimpleDustMaterial("actinium_trinium_hydroxides", (ActiniumOxalate.rgb+Trinium.materialRGB)/2, (short) 937, MaterialIconSet.ROUGH, "Ke3Ac2(OH)12");
    public static final SimpleDustMaterial TriniumTetrafluoride = new SimpleDustMaterial("trinium_tetrafluoride", 0x477347, (short) 938, MaterialIconSet.SHINY, "KeF4");
    public static final SimpleDustMaterial ActiniumNitrate = new SimpleDustMaterial("actinium_nitrate", YttriumNitrate.rgb, (short) 939, MaterialIconSet.ROUGH, "Ac(NO3)3");
    public static final SimpleDustMaterial RadiumNitrate = new SimpleDustMaterial("radium_nitrate", BariumNitrate.rgb, (short) 940, MaterialIconSet.DULL, "Ra(NO3)2");
    public static final SimpleDustMaterial PhosphorousPentasulfide = new SimpleDustMaterial("phosphorous_pentasulfide", 0xEBAD24, (short) 941, MaterialIconSet.DULL, "P4S10");
    public static final SimpleDustMaterial PureCrystallineNitricAcid = new SimpleDustMaterial("crystalline_nitric_acid", NitricAcid.materialRGB, (short) 942, MaterialIconSet.ROUGH, "HNO3");
    public static final SimpleDustMaterial StoneResidueDust = new SimpleDustMaterial("stone_residue_dust", Stone.materialRGB/5*3, (short) 944, MaterialIconSet.ROUGH);
    public static final SimpleDustMaterial DiamagneticResidues = new SimpleDustMaterial("diamagnetic_residues", (Calcium.materialRGB+Zinc.materialRGB+Copper.materialRGB+Gallium.materialRGB+Beryllium.materialRGB+Tin.materialRGB)/15, (short) 945, MaterialIconSet.DULL);
    public static final SimpleDustMaterial HeavyDiamagneticResidues = new SimpleDustMaterial("heavy_diamagnetic_residues", (Lead.materialRGB+Mercury.materialRGB+Cadmium.materialRGB+Indium.materialRGB+Gold.materialRGB+Bismuth.materialRGB)/15, (short) 946, MaterialIconSet.DULL);
    public static final SimpleDustMaterial ParamagneticResidues = new SimpleDustMaterial("paramagnetic_residues", (Sodium.materialRGB+Potassium.materialRGB+Magnesium.materialRGB+Titanium.materialRGB+Vanadium.materialRGB+Manganese.materialRGB)/15, (short) 947, MaterialIconSet.DULL);
    public static final SimpleDustMaterial HeavyParamagneticResidues = new SimpleDustMaterial("heavy_paramagnetic_residues", (Thorium.materialRGB+Thallium.materialRGB+Uranium.materialRGB+Tungsten.materialRGB+Hafnium.materialRGB+Tantalum.materialRGB)/15, (short) 948, MaterialIconSet.DULL);
    public static final SimpleDustMaterial FerromagneticResidues = new SimpleDustMaterial("ferromagnetic_residues", (Iron.materialRGB+Nickel.materialRGB+Cobalt.materialRGB)/7, (short) 949, MaterialIconSet.DULL);
    public static final SimpleDustMaterial HeavyFerromagneticResidues = new SimpleDustMaterial("heavy_ferromagnetic_residues", DysprosiumOxide.rgb*3/11, (short) 950, MaterialIconSet.DULL);
    public static final SimpleDustMaterial UncommonResidues = new SimpleDustMaterial("uncommon_residues", (Triniite.materialRGB+NaquadriaticTaranium.materialRGB+PreciousMetals.rgb)/5, (short) 951, MaterialIconSet.FINE);
    public static final SimpleDustMaterial PartiallyOxidizedResidues = new SimpleDustMaterial("partially_oxidized_residues", StoneResidueDust.rgb+Dioxygendifluoride.rgb, (short) 952, MaterialIconSet.DULL);
    public static final SimpleDustMaterial MetallicResidues = new SimpleDustMaterial("metallic_residues", (DiamagneticResidues.rgb+ParamagneticResidues.rgb+ FerromagneticResidues.rgb+UncommonResidues.rgb/3)/4, (short) 953 ,MaterialIconSet.DULL);
    public static final SimpleDustMaterial HeavyMetallicResidues = new SimpleDustMaterial("heavy_metallic_residues", (HeavyDiamagneticResidues.rgb+HeavyParamagneticResidues.rgb+HeavyFerromagneticResidues.rgb+UncommonResidues.rgb/3)/4, (short) 954 ,MaterialIconSet.DULL);
    public static final SimpleDustMaterial OxidizedResidues = new SimpleDustMaterial("oxidized_residues", (DiamagneticResidues.rgb+ParamagneticResidues.rgb+ FerromagneticResidues.rgb+0x9f0000)/4, (short) 955, MaterialIconSet.DULL);
    public static final SimpleDustMaterial HeavyOxidizedResidues = new SimpleDustMaterial("heavy_oxidized_residues", (DiamagneticResidues.rgb+ParamagneticResidues.rgb+ FerromagneticResidues.rgb+0x9f0000)/4, (short) 956, MaterialIconSet.DULL);
    public static final SimpleDustMaterial ExoticHeavyResidues = new SimpleDustMaterial("exotic_heavy_residues",NitratedTriniiteSolution.rgb,(short) 957, MaterialIconSet.SHINY);
    public static final SimpleDustMaterial CleanInertResidues = new SimpleDustMaterial("clean_inert_residues", (Taranium.materialRGB+Xenon.materialRGB)/2, (short) 958, MaterialIconSet.SHINY);
    public static final SimpleDustMaterial IridiumCyclooctadienylChlorideDimer = new SimpleDustMaterial("iridium_cyclooctadienyl_chloride_dimer", (Dichlorocycloctadieneplatinium.rgb+Iridium.materialRGB)/2, (short) 943, MaterialIconSet.SHINY, "Ir2(C8H12)2Cl2");
    public static final SimpleDustMaterial FinelyPowderedRutile = new SimpleDustMaterial("finely_powdered_rutile", 0xffffff, (short) 959, MaterialIconSet.FINE, "TiO2");
    public static final SimpleDustMaterial InertResidues = new SimpleDustMaterial("inert_residues", 0x61587a, (short) 960, MaterialIconSet.SHINY);


    public static final IngotMaterial Quantum = new IngotMaterial(857, "quantum", 0x0f0f0f, MaterialIconSet.SHINY, 7, of(new MaterialStack(Stellite, 15), new MaterialStack(Jasper, 5), new MaterialStack(Gallium, 5), new MaterialStack(Americium241.getMaterial(), 5), new MaterialStack(Palladium, 5), new MaterialStack(Bismuth, 5), new MaterialStack(Germanium, 5), new SimpleDustMaterialStack(SiliconCarbide, 5)), CORE_METAL | DISABLE_DECOMPOSITION | DISABLE_REPLICATION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 11400);
    public static final IngotMaterial UVSuperconductorBase = new IngotMaterial(745, "uv_superconductor_base", 0xe0d207, MaterialIconSet.SHINY, 1, ImmutableList.of(new MaterialStack(Naquadria, 4), new MaterialStack(Osmiridium, 3), new MaterialStack(Rutherfordium, 1), new MaterialStack(Samarium, 1)), STD_METAL, null, 8900);
    public static final IngotMaterial UVSuperconductor = new IngotMaterial(744, "uv_superconductor", 0xe0d207, MaterialIconSet.SHINY, 1, of(new MaterialStack(UVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial UHVSuperconductorBase = new IngotMaterial(740, "uhv_superconductor_base", 0x359ffc, MaterialIconSet.SHINY, 1, of(new SimpleDustMaterialStack(TBCCODust, 4), new SimpleDustMaterialStack(StrontiumSuperconductorDust, 4), new MaterialStack(Taranium, 1)), STD_METAL | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 10000);
    public static final IngotMaterial UHVSuperconductor = new IngotMaterial(739, "uhv_superconductor", 0x359ffc, MaterialIconSet.SHINY, 1, of(new MaterialStack(UHVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial UEVSuperconductorBase = new IngotMaterial(738, "uev_superconductor_base", 0x954fe0, MaterialIconSet.SHINY, 1, of(new SimpleDustMaterialStack(ActiniumSuperhydride, 1), new SimpleDustMaterialStack(BETSPerrhenate, 1), new MaterialStack(TriniumTitanium, 2), new MaterialStack(Quantum, 1), new MaterialStack(Adamantium, 1)), STD_METAL | DISABLE_AUTOGENERATED_MIXER_RECIPE | DISABLE_DECOMPOSITION, null, 11150);
    public static final IngotMaterial UEVSuperconductor = new IngotMaterial(737, "uev_superconductor", 0x954fe0, MaterialIconSet.SHINY, 1, of(new MaterialStack(UEVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial UIVSuperconductorBase = new IngotMaterial(727, "uiv_superconductor_base", 0x8bf743, MaterialIconSet.SHINY, 1, of(new SimpleDustMaterialStack(BorocarbideDust, 2), new SimpleDustMaterialStack(FullereneSuperconductiveDust, 1), new MaterialStack(MetastableOganesson, 2), new MaterialStack(ProtoAdamantium, 2)), STD_METAL | DISABLE_AUTOGENERATED_MIXER_RECIPE | DISABLE_DECOMPOSITION, null, 11600);
    public static final IngotMaterial UIVSuperconductor = new IngotMaterial(726, "uiv_superconductor", 0x8bf743, MaterialIconSet.SHINY, 1, of(new MaterialStack(UIVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial UMVSuperconductorBase = new IngotMaterial(725, "umv_superconductor_base", 0x883afc, MaterialIconSet.SHINY, 1, of(new MaterialStack(BlackTitanium,3), new MaterialStack(SuperheavyHAlloy, 2), new SimpleDustMaterialStack(ChargedCesiumCeriumCobaltIndium, 3), new SimpleDustMaterialStack(RheniumHassiumThalliumIsophtaloylbisdiethylthioureaHexafluorophosphate, 6)), STD_METAL | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 12000);
    public static final IngotMaterial UMVSuperconductor = new IngotMaterial(724, "umv_superconductor", 0x883afc, MaterialIconSet.SHINY, 1, of(new MaterialStack(UMVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);
    public static final IngotMaterial UXVSuperconductorBase = new IngotMaterial(723, "uxv_superconductor_base", 0xe34b5a, MaterialIconSet.SHINY, 1, of(new MaterialStack(Neutronium, 4), new SimpleDustMaterialStack(Legendarium, 5), new SimpleDustMaterialStack(ActiniumSuperhydride,5), new SimpleDustMaterialStack(LanthanumFullereneNanotubes, 4), new SimpleDustMaterialStack(RheniumHassiumThalliumIsophtaloylbisdiethylthioureaHexafluorophosphate, 12)), STD_METAL | DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE, null, 14000);
    public static final IngotMaterial UXVSuperconductor = new IngotMaterial(722, "uxv_superconductor", 0xe34b5a, MaterialIconSet.SHINY, 1, of(new MaterialStack(UXVSuperconductorBase, 1), new MaterialStack(Nitrogen, 1)), DISABLE_DECOMPOSITION | DISABLE_AUTOGENERATED_MIXER_RECIPE);

    public static Material UEV = new MarkerMaterial("UEV");
    public static Material UIV = new MarkerMaterial("UIV");
    public static Material UMV = new MarkerMaterial("UMV");
    public static Material UXV = new MarkerMaterial("UXV");
    public static Material MAX = new MarkerMaterial("MAX");

    @Override
    public void onMaterialsInit() {
        initNuclearMaterial();
        initOres();

        // Pipes
        Polytetrafluoroethylene.setFluidPipeProperties(450, 900, true);
        NiobiumTitanium.setFluidPipeProperties(450, 2900, true);
        Polybenzimidazole.setFluidPipeProperties(450, 900, true);
        Enderium.setFluidPipeProperties(650, 1500, true);
        Naquadah.setFluidPipeProperties(1000, 19000, true);
        Ultimet.setFluidPipeProperties(1500, 12000, true);
        Zeron100.setFluidPipeProperties(1750, 15000, true);
        Lafium.setFluidPipeProperties(2000, 23000, true);
        EnrichedNaquadahAlloy.setFluidPipeProperties(2200, 25000, true);
        TantalumHafniumSeaborgiumCarbide.setFluidPipeProperties(2400, 500000, true);
        Neutronium.setFluidPipeProperties(2800, 1000000, true);

        // Cables
        MVSuperconductorBase.setCableProperties(128, 4, 2);
        HVSuperconductorBase.setCableProperties(512, 4, 2);
        EVSuperconductorBase.setCableProperties(2048, 4, 2);
        IVSuperconductorBase.setCableProperties(8192, 4, 2);
        LuVSuperconductorBase.setCableProperties(32768, 4, 2);
        ZPMSuperconductorBase.setCableProperties(131072, 4, 2);
        UVSuperconductorBase.setCableProperties(524288, 4, 2);

        MVSuperconductor.setCableProperties(128, 4, 0);
        ignoreCable(MVSuperconductor);
        HVSuperconductor.setCableProperties(512, 4, 0);
        ignoreCable(HVSuperconductor);
        EVSuperconductor.setCableProperties(2048, 4, 0);
        ignoreCable(EVSuperconductor);
        IVSuperconductor.setCableProperties(8192, 4, 0);
        ignoreCable(IVSuperconductor);
        LuVSuperconductor.setCableProperties(32768, 4, 0);
        ignoreCable(LuVSuperconductor);
        ZPMSuperconductor.setCableProperties(131072, 4, 0);
        ignoreCable(ZPMSuperconductor);
        UVSuperconductor.setCableProperties(524288, 4, 0);
        ignoreCable(UVSuperconductor);
        ignoreCable(UHVSuperconductor);
        ignoreCable(UEVSuperconductor);
        ignoreCable(UIVSuperconductor);
        ignoreCable(UMVSuperconductor);
        ignoreCable(UXVSuperconductor);

        addCableAboveGTCELimit(UHVSuperconductorBase, new WireProperties(GAValues.V[GAValues.UHV], 4, 2));
        addCableAboveGTCELimit(UEVSuperconductorBase, new WireProperties(GAValues.V[GAValues.UEV], 4, 2));
        addCableAboveGTCELimit(UIVSuperconductorBase, new WireProperties(GAValues.V[GAValues.UIV], 4, 2));
        addCableAboveGTCELimit(UMVSuperconductorBase, new WireProperties(GAValues.V[GAValues.UMV], 4, 2));
        addCableAboveGTCELimit(UXVSuperconductorBase, new WireProperties(GAValues.V[GAValues.UXV], 4, 2));
        addCableAboveGTCELimit(TungstenTitaniumCarbide, new WireProperties(GAValues.V[GAValues.UHV], 4, 16));
        addCableAboveGTCELimit(AbyssalAlloy, new WireProperties(GAValues.V[GAValues.UHV], 2, 8));
        addCableAboveGTCELimit(EnrichedNaquadahAlloy, new WireProperties(GAValues.V[GAValues.UHV], 1, 4));
        addCableAboveGTCELimit(Pikyonium, new WireProperties(GAValues.V[GAValues.UEV], 4, 32));
        addCableAboveGTCELimit(TitanSteel, new WireProperties(GAValues.V[GAValues.UEV], 2, 16));
        addCableAboveGTCELimit(Cinobite, new WireProperties(GAValues.V[GAValues.UIV], 4, 64));
        addCableAboveGTCELimit(BlackTitanium, new WireProperties(GAValues.V[GAValues.UIV], 2, 32));
        addCableAboveGTCELimit(NaquadriaticTaranium, new WireProperties(GAValues.V[GAValues.UMV], 2, 32));
        addCableAboveGTCELimit(Neutronium, new WireProperties(GAValues.V[GAValues.UXV], 2, 32));
        addCableAboveGTCELimit(CosmicNeutronium, new WireProperties(GAValues.V[GAValues.MAX], 32, 32));
        addCableAboveGTCELimit(UHVSuperconductor, new WireProperties(GAValues.V[GAValues.UHV], 4, 0));
        addCableAboveGTCELimit(UEVSuperconductor, new WireProperties(GAValues.V[GAValues.UEV], 4, 0));
        addCableAboveGTCELimit(UIVSuperconductor, new WireProperties(GAValues.V[GAValues.UIV], 4, 0));
        addCableAboveGTCELimit(UMVSuperconductor, new WireProperties(GAValues.V[GAValues.UMV], 4, 0));
        addCableAboveGTCELimit(UXVSuperconductor, new WireProperties(GAValues.V[GAValues.UXV], 4, 0));

        // Disable Mixer Flag
        YttriumBariumCuprate.addFlag(DISABLE_AUTOGENERATED_MIXER_RECIPE);
        GalliumArsenide.addFlag(DISABLE_AUTOGENERATED_MIXER_RECIPE);
        Plastic.addFlag(DISABLE_AUTOGENERATED_MIXER_RECIPE);
        Polytetrafluoroethylene.addFlag(DISABLE_AUTOGENERATED_MIXER_RECIPE);
        TungstenCarbide.addFlag(DISABLE_AUTOGENERATED_MIXER_RECIPE);

        // Plasmas
        Radon.addFlag(GENERATE_PLASMA);
        Potassium.addFlag(GENERATE_PLASMA);
        Carbon.addFlag(GENERATE_PLASMA);
        Magnesium.addFlag(GENERATE_PLASMA);
        Silicon.addFlag(GENERATE_PLASMA);
        Sulfur.addFlag(GENERATE_PLASMA);
        Argon.addFlag(GENERATE_PLASMA);
        Calcium.addFlag(GENERATE_PLASMA);
        Titanium.addFlag(GENERATE_PLASMA);
        Hydrogen.addFlag(GENERATE_PLASMA);
        Helium3.addFlag(GENERATE_PLASMA);

        // Decomposition
        Barite.addFlag(DISABLE_DECOMPOSITION);
        TungstenCarbide.addFlag(DISABLE_DECOMPOSITION);
        Uraninite.addFlag(DISABLE_DECOMPOSITION);
        NaquadahAlloy.addFlag(DISABLE_DECOMPOSITION);
        Trona.addFlag(DISABLE_DECOMPOSITION);
        Columbite.addFlag(DISABLE_DECOMPOSITION);
        Tantalite.addFlag(DISABLE_DECOMPOSITION);
        if (GAConfig.Misc.tungstenProcess) {
            Scheelite.addFlag(DISABLE_DECOMPOSITION);
            Tungstate.addFlag(DISABLE_DECOMPOSITION);
        }

        // Foils
        Molybdenum.addFlag(GENERATE_FOIL);
        Naquadah.addFlag(GENERATE_FOIL);
        NaquadahEnriched.addFlag(GENERATE_FOIL);
        Duranium.addFlag(GENERATE_FOIL);
        Graphene.addFlag(GENERATE_FOIL);
        Polytetrafluoroethylene.addFlag(GENERATE_FOIL);
        Rubber.addFlag(GENERATE_FOIL);
        Polycaprolactam.addFlag(GENERATE_FOIL);
        Plastic.addFlag(GENERATE_FOIL);
        Barium.addFlag(GENERATE_FOIL);
        Calcium.addFlag(GENERATE_FOIL);

        // Fine Wires
        Cupronickel.addFlag(GENERATE_FINE_WIRE);
        ReinforcedEpoxyResin.addFlag(GENERATE_FINE_WIRE);
        Plutonium.addFlag(GENERATE_FINE_WIRE);
        Europium.addFlag(GENERATE_FINE_WIRE);
        Cerium.addFlag(GENERATE_FINE_WIRE);
        Zinc.addFlag(GENERATE_FINE_WIRE);
        Duranium.addFlag(GENERATE_FINE_WIRE);

        // Frames
        Polytetrafluoroethylene.addFlag(GENERATE_FRAME);
        Naquadria.addFlag(GENERATE_FRAME);
        BlackSteel.addFlag(GENERATE_FRAME);
        RedSteel.addFlag(GENERATE_FRAME);
        Thorium.addFlag(GENERATE_FRAME);
        Americium.addFlag(GENERATE_FRAME);
        Iron.addFlag(GENERATE_FRAME);
        Lead.addFlag(GENERATE_FRAME);
        HSSG.addFlag(GENERATE_FRAME);
        HSSS.addFlag(GENERATE_FRAME);

        // Gears
        BlackSteel.addFlag(GENERATE_GEAR);
        BlueSteel.addFlag(GENERATE_GEAR);
        Cobalt.addFlag(GENERATE_GEAR);
        RedSteel.addFlag(GENERATE_GEAR);
        Naquadria.addFlag(GENERATE_GEAR);

        // Long Rods
        Europium.addFlag(GENERATE_LONG_ROD);
        Uranium.addFlag(GENERATE_LONG_ROD);
        VanadiumGallium.addFlag(GENERATE_LONG_ROD);

        // Double Plates
        Lead.addFlag(GENERATE_DOUBLE_PLATE);

        // Rounds
        Aluminium.addFlag(GENERATE_ROUND);
        Titanium.addFlag(GENERATE_ROUND);
        StainlessSteel.addFlag(GENERATE_ROUND);
        Steel.addFlag(GENERATE_ROUND);
        TungstenSteel.addFlag(GENERATE_ROUND);
        HSSG.addFlag(GENERATE_ROUND);
        HSSE.addFlag(GENERATE_ROUND);
        Tritanium.addFlag(GENERATE_ROUND);

        // Dense Plates
        Naquadria.addFlag(GENERATE_DENSE);
        Manganese.addFlag(GENERATE_DENSE);
        StainlessSteel.addFlag(GENERATE_DENSE);

        // Rods
        Boron.addFlag(GENERATE_ROD);
        ReinforcedEpoxyResin.addFlag(GENERATE_ROD);
        Apatite.addFlag(GENERATE_ROD);
        Thorium.addFlag(GENERATE_ROD);
        Polytetrafluoroethylene.addFlag(GENERATE_ROD);

        // Bolt/Screw
        Cobalt.addFlag(GENERATE_BOLT_SCREW);
        Manganese.addFlag(GENERATE_BOLT_SCREW);
        Molybdenum.addFlag(GENERATE_BOLT_SCREW);
        Neodymium.addFlag(GENERATE_BOLT_SCREW);
        Apatite.addFlag(GENERATE_BOLT_SCREW);
        Rubber.addFlag(GENERATE_BOLT_SCREW); // cursed Rubber Screw

        // Rotor
        Plastic.addFlag(GENERATE_ROTOR);

        // Plate
        BorosilicateGlass.addFlag(GENERATE_PLATE);

        // Smelt-Into
        Sulfur.addFlag(SMELT_INTO_FLUID);
        Fluorite.addFlag(SMELT_INTO_FLUID);

        // Core Metal
        Tritanium.addFlag(CORE_METAL);
        Arsenic.addFlag(SMELT_INTO_FLUID);
        Tritanium.addFlag(CORE_METAL);
        Duranium.addFlag(CORE_METAL);

        // Replication
        Naquadria.addFlag(DISABLE_REPLICATION);
        Naquadah.addFlag(DISABLE_REPLICATION);
        NaquadahEnriched.addFlag(DISABLE_REPLICATION);

        // Prefix Ignores
        OrePrefix.block.setIgnored(Pyrotheum);
        OrePrefix.block.setIgnored(Cryotheum);
        OrePrefix.block.setIgnored(Snow);
        OrePrefix.block.setIgnored(MagnetoResonatic);
        OrePrefix.block.setIgnored(PotassiumDisulfate);
        OrePrefix.block.setIgnored(SodiumPotassiumAlloy);
        OrePrefix.block.setIgnored(FLiNaK);
        OrePrefix.block.setIgnored(FLiBe);
        OrePrefix.block.setIgnored(LeadBismuthEutectic);
        OrePrefix.block.setIgnored(RutheniumTetroxide);
        OrePrefix.dust.setIgnored(Snow);
        OrePrefix.dustSmall.setIgnored(Snow);
        OrePrefix.dustTiny.setIgnored(Snow);

        for (Material material : Material.MATERIAL_REGISTRY) {
            if (material instanceof IngotMaterial && material.hasFlag(GENERATE_METAL_CASING)) {
                material.addFlag(GENERATE_FRAME);
                material.addFlag(GENERATE_PLATE);
            }
            if (material instanceof IngotMaterial && ((IngotMaterial) material).toolSpeed > 0) {
                material.addFlag(GENERATE_DENSE);
            }
        }
    }

    private static void initOres() {

        // Ores
        Tellurium.addFlag(GENERATE_ORE);
        Diatomite.addFlag(GENERATE_ORE);
        GarnetSand.addFlag(GENERATE_ORE);
        Mica.addFlag(GENERATE_ORE);
        Asbestos.addFlag(GENERATE_ORE);
        Kyanite.addFlag(GENERATE_ORE);
        Pollucite.addFlag(GENERATE_ORE);
        BasalticMineralSand.addFlag(GENERATE_ORE);
        GraniticMineralSand.addFlag(GENERATE_ORE);
        FullersEarth.addFlag(GENERATE_ORE);
        Gypsum.addFlag(GENERATE_ORE);
        Zeolite.addFlag(GENERATE_ORE);
        Kaolinite.addFlag(GENERATE_ORE);
        Dolomite.addFlag(GENERATE_ORE);
        Wollastonite.addFlag(GENERATE_ORE);
        Trona.addFlag(GENERATE_ORE);
        Andradite.addFlag(GENERATE_ORE);
        Vermiculite.addFlag(GENERATE_ORE);
        Alunite.addFlag(GENERATE_ORE);
        GlauconiteSand.addFlag(GENERATE_ORE);
        Niter.addFlag(GENERATE_ORE);

        // Direct Smelting
        BasalticMineralSand.setDirectSmelting(Iron);
        GraniticMineralSand.setDirectSmelting(Iron);
        Cooperite.disableDirectSmelting = true;

        // Ore Multiplier
        PreciousMetal.setOreMultiplier(2);
        PlatinumMetallicPowder.setOreMultiplier(2);
        PalladiumMetallicPowder.setOreMultiplier(2);
        Trona.setOreMultiplier(2);
        Lepidolite.setOreMultiplier(2);
        Barytocalcite.setOreMultiplier(2);

        // Washed In
        PlatinumMetallicPowder.washedIn = SodiumPersulfate;
        RarestMetalResidue.washedIn = SodiumPersulfate;
        IrMetalResidue.washedIn = SodiumPersulfate;
        Witherite.washedIn = SodiumPersulfate;

        // Byproducts
        Salt.addOreByProducts(Borax);
        RockSalt.addOreByProducts(Borax);
        Lepidolite.addOreByProducts(Boron);
        Zirkelite.addOreByProducts(Thorium, Zirconium, Cerium);
        Caliche.addOreByProducts(Niter, Saltpeter, Lepidolite);
        Zircon.addOreByProducts(Cobalt, Lead, UraniumRadioactive.getMaterial());
        PreciousMetal.addOreByProducts(Lead, Silver, Nickel);
        Pyrochlore.addOreByProducts(Apatite, Calcite, Niobium);
        Uranium.addOreByProducts(Lead, UraniumRadioactive.getMaterial(), Thorium);
        Alunite.addOreByProducts(Zinc, Gallium, Iron);
        Fluorite.addOreByProducts(Calcium);
        FluoroApatite.addOreByProducts(Apatite, Fluorite, Phosphorus);
        BandedIron.addOreByProducts(Magnetite, Calcium, Magnesium, SiliconDioxide);
        Soapstone.addOreByProducts(SiliconDioxide, Magnesium, Calcite, Talc);
        Dolomite.addOreByProducts(Dolomite, Calcium, Magnesium);
        Wollastonite.addOreByProducts(Calcite, SiliconDioxide, Calcite, SiliconDioxide);
        Kyanite.addOreByProducts(Talc, Aluminium, Silicon);
        Kaolinite.addOreByProducts(Clay, Clay, SiliconDioxide, Kaolinite);
        Gypsum.addOreByProducts(Sulfur, Calcite, Salt);
        Talc.addOreByProducts(Clay, Clay, Carbon);
        Wulfenite.addOreByProducts(Iron, Manganese, Manganese, Lead);
        Powellite.addOreByProducts(Iron, Molybdenite, Potassium);
        Trona.addOreByProducts(Sodium, SodaAsh, SodaAsh);
        Mica.addOreByProducts(Potassium, Aluminium, Fluorite);
        Prasiolite.addOreByProducts(Prasiolite, Iron, SiliconDioxide);
        Saltpeter.addOreByProducts(Salt, Potassium);
        Rhodocrosite.addOreByProducts(Calcium, Manganese);
        Zeolite.addOreByProducts(Calcium, Silicon, Aluminium);
        Columbite.addOreByProducts(Iron, Manganese, Niobium);
        Barytocalcite.addOreByProducts(Calcite, Magnesium, Barite);
        Witherite.addOreByProducts(Calcite, Barite, Lead);
        Arsenopyrite.addOreByProducts(Iron, Cobaltite, Cobalt);
        Gallite.addOreByProducts(Sulfur, Copper, Copper, Gallium);
        Celestine.addOreByProducts(Gypsum, Calcite, Calcite, Strontium);
        Bowieite.addOreByProducts(Nickel, PlatinumMetallicPowder, RarestMetalResidue, CrudeRhodiumMetal);
        EnrichedNaquadricCompound.addOreByProducts(NaquadricCompound, NaquadriaticCompound);
        NaquadricCompound.addOreByProducts(EnrichedNaquadricCompound);
        PlatinumMetallicPowder.addOreByProducts(Nickel, IrMetalResidue, RarestMetalResidue, PlatinumMetallicPowder);
        RarestMetalResidue.addOreByProducts(IrMetalResidue, IrMetalResidue, IrMetalResidue, RarestMetalResidue);
        IrMetalResidue.addOreByProducts(PlatinumMetallicPowder, RarestMetalResidue);
        Triniite.addOreByProducts(NaquadricCompound, Bismuth, Thallium);

        // Byproduct Overrides
        Bornite.oreByProducts.clear();
        Bornite.addOreByProducts(Pyrite, Cobalt, Cadmium, PreciousMetal);

        Chalcopyrite.oreByProducts.clear();
        Chalcopyrite.addOreByProducts(Pyrite, Cobalt, Cadmium, PreciousMetal);

        Copper.oreByProducts.clear();
        Copper.addOreByProducts(Cobalt, PreciousMetal, Nickel);

        Glowstone.oreByProducts.clear();
        Glowstone.addOreByProducts(Redstone, PreciousMetal);

        Magnetite.oreByProducts.clear();
        Magnetite.addOreByProducts(Iron, PreciousMetal);

        Pitchblende.oreByProducts.clear();
        Pitchblende.addOreByProducts(Thorium, UraniumRadioactive.getMaterial(), Lead);

        Nickel.oreByProducts.clear();
        Nickel.addOreByProducts(Cobalt, PlatinumMetallicPowder, Iron);

        Iridium.oreByProducts.clear();
        Iridium.addOreByProducts(PlatinumMetallicPowder, RarestMetalResidue);

        Platinum.oreByProducts.clear();
        Platinum.addOreByProducts(Nickel, IrMetalResidue);

        Osmium.oreByProducts.clear();
        Osmium.addOreByProducts(IrMetalResidue);

        Cooperite.oreByProducts.clear();
        Cooperite.addOreByProducts(PalladiumMetallicPowder, Nickel, IrMetalResidue);
    }

    private static void initNuclearMaterial() {
        ThoriumRadioactive.complexity = 100;
        Protactinium.complexity = 100;
        UraniumRadioactive.complexity = 100;
        Neptunium.complexity = 115;
        PlutoniumRadioactive.complexity = 120;
        AmericiumRadioactive.complexity = 135;
        Curium.complexity = 145;
        Berkelium.complexity = 150;
        Californium.complexity = 160;
        Einsteinium.complexity = 170;
        Fermium.complexity = 185;
        Mendelevium.complexity = 200;

        Thorium.addFlag(GENERATE_LONG_ROD);
        Uranium235.addFlag(GENERATE_LONG_ROD);

        Thorium232Isotope.fertile = true;
        Thorium232Isotope.isotopeDecay.put(Thorium233, 100);
        Thorium232Isotope.isotopeDecay.put(Protactinium233, 1000);
        Thorium232Isotope.isotopeDecay.put(Uranium233, 8900);

        Thorium233.isotopeDecay.put(Protactinium233, 9000);

        Protactinium233.isotopeDecay.put(Uranium233, 9000);

        //Uranium
        UraniumRadioactive.composition.put(Uranium238Isotope, 9890);
        UraniumRadioactive.composition.put(Uranium235Isotope, 100);
        UraniumRadioactive.composition.put(Uranium234, 10);

        Uranium233.fissile = true;
        Uranium235Isotope.fissile = true;
        Uranium234.fertile = true;
        Uranium238Isotope.fertile = true;

        Uranium235Isotope.baseHeat = 10;
        Uranium233.baseHeat = 7;

        Uranium234.isotopeDecay.put(Uranium235Isotope, 9000);
        Uranium238Isotope.isotopeDecay.put(Uranium239, 100);
        Uranium238Isotope.isotopeDecay.put(Neptunium239, 1000);
        Uranium238Isotope.isotopeDecay.put(Plutonium239, 8900);
        Uranium239.isotopeDecay.put(Neptunium239, 9000);


        //neptunium
        Neptunium.composition.put(Neptunium235, 2000);
        Neptunium.composition.put(Neptunium237, 5000);
        Neptunium.composition.put(Neptunium239, 3000);

        Neptunium237.fissile = true;
        Neptunium237.baseHeat = 11;

        Neptunium237.isotopeDecay.put(Protactinium233, 9000);
        Neptunium239.isotopeDecay.put(Plutonium239, 9000);
        Neptunium235.isotopeDecay.put(Uranium235Isotope, 9000);

        //plutonium
        PlutoniumRadioactive.composition.put(Plutonium244Isotope, 9890);
        PlutoniumRadioactive.composition.put(Plutonium241Isotope, 100);
        PlutoniumRadioactive.composition.put(Plutonium240, 10);

        Plutonium241Isotope.fissile = true;
        Plutonium239.fissile = true;
        Plutonium240.fertile = true;
        Plutonium244Isotope.fertile = true;

        Plutonium241Isotope.baseHeat = 13;
        Plutonium239.baseHeat = 10;

        Plutonium240.isotopeDecay.put(Plutonium241Isotope, 9000);
        Plutonium244Isotope.isotopeDecay.put(Plutonium245, 100);
        Plutonium244Isotope.isotopeDecay.put(Americium245, 1000);
        Plutonium244Isotope.isotopeDecay.put(Curium245, 8900);
        Plutonium245.isotopeDecay.put(Americium245, 9000);

        //Americium
        AmericiumRadioactive.composition.put(Americium241, 2000);
        AmericiumRadioactive.composition.put(Americium243, 5000);
        AmericiumRadioactive.composition.put(Americium245, 3000);

        Americium243.fissile = true;
        Americium243.baseHeat = 14;

        Americium243.isotopeDecay.put(Neptunium239, 9000);
        Americium245.isotopeDecay.put(Curium245, 9000);
        Americium241.isotopeDecay.put(Plutonium241Isotope, 9000);

        //Curium
        Curium.composition.put(Curium250, 9890);
        Curium.composition.put(Curium247, 100);
        Curium.composition.put(Curium246, 10);

        Curium245.fissile = true;
        Curium247.fissile = true;
        Curium246.fertile = true;
        Curium250.fertile = true;

        Curium245.baseHeat = 13;
        Curium247.baseHeat = 16;

        Curium246.isotopeDecay.put(Curium247, 9000);
        Curium250.isotopeDecay.put(Curium251, 100);
        Curium250.isotopeDecay.put(Berkelium251, 1000);
        Curium250.isotopeDecay.put(Californium251, 8900);
        Curium251.isotopeDecay.put(Americium245, 9000);

        //Berkelium
        Berkelium.composition.put(Berkelium247, 2000);
        Berkelium.composition.put(Berkelium249, 5000);
        Berkelium.composition.put(Berkelium251, 3000);

        Berkelium249.fissile = true;
        Berkelium249.baseHeat = 17;

        Berkelium249.isotopeDecay.put(Americium245, 9000);
        Berkelium251.isotopeDecay.put(Californium251, 9000);
        Berkelium247.isotopeDecay.put(Curium247, 9000);

        //Californium
        Californium.composition.put(Californium252, 9890);
        Californium.composition.put(Californium253, 100);
        Californium.composition.put(Californium256, 10);

        Californium251.fissile = true;
        Californium253.fissile = true;
        Californium252.fertile = true;
        Californium256.fertile = true;

        Californium251.baseHeat = 16;
        Californium253.baseHeat = 19;

        Californium252.isotopeDecay.put(Californium253, 9000);
        Californium256.isotopeDecay.put(Californium257, 100);
        Californium256.isotopeDecay.put(Einsteinium257, 1000);
        Californium256.isotopeDecay.put(Fermium257, 8900);
        Californium257.isotopeDecay.put(Einsteinium257, 9000);

        //Einsteinium
        Einsteinium.composition.put(Einsteinium253, 2000);
        Einsteinium.composition.put(Einsteinium255, 5000);
        Einsteinium.composition.put(Einsteinium257, 3000);

        Einsteinium255.fissile = true;
        Einsteinium255.baseHeat = 20;

        Einsteinium255.isotopeDecay.put(Berkelium251, 9000);
        Einsteinium257.isotopeDecay.put(Fermium257, 9000);
        Einsteinium253.isotopeDecay.put(Californium253, 9000);


        //Fermium
        Fermium.composition.put(Fermium258, 9890);
        Fermium.composition.put(Fermium259, 100);
        Fermium.composition.put(Fermium262, 10);

        Fermium257.fissile = true;
        Fermium259.fissile = true;
        Fermium258.fertile = true;
        Fermium262.fertile = true;

        Fermium257.baseHeat = 19;
        Fermium259.baseHeat = 22;

        Fermium258.isotopeDecay.put(Fermium259, 9000);
        Fermium262.isotopeDecay.put(Fermium263, 1000);
        Fermium262.isotopeDecay.put(Mendelevium263, 9000);
        Fermium263.isotopeDecay.put(Mendelevium263, 9000);

        //Mendelevium
        Mendelevium.composition.put(Mendelevium259, 2000);
        Mendelevium.composition.put(Mendelevium261, 5000);
        Mendelevium.composition.put(Mendelevium263, 3000);

        Mendelevium261.fissile = true;
        Mendelevium261.baseHeat = 23;
        Mendelevium261.isotopeDecay.put(Einsteinium257, 9000);
        Mendelevium259.isotopeDecay.put(Fermium259, 9000);

    }

    public static void ignoreCable(Material m) {
        if (m instanceof IngotMaterial && ((IngotMaterial) m).cableProperties != null) {
            OrePrefix.cableGtSingle.setIgnored(m);
            OrePrefix.cableGtDouble.setIgnored(m);
            OrePrefix.cableGtQuadruple.setIgnored(m);
            OrePrefix.cableGtOctal.setIgnored(m);
            OrePrefix.cableGtHex.setIgnored(m);
        }
    }

    public static void addCableAboveGTCELimit(Material m, WireProperties p) {

        if (m instanceof IngotMaterial) {
            ((IngotMaterial) m).setCableProperties(p.voltage, p.amperage, p.lossPerBlock);
        }
    }

    public static void setBlastFurnaceTemperature(IngotMaterial material, int temperature) {
        try {
            Field blastFurnaceTemperature = IngotMaterial.class.getField("blastFurnaceTemperature");
            blastFurnaceTemperature.setAccessible(true);

            Field modifiersField = Field.class.getDeclaredField("modifiers");
            modifiersField.setAccessible(true);
            modifiersField.setInt(blastFurnaceTemperature, blastFurnaceTemperature.getModifiers() & ~Modifier.FINAL);

            blastFurnaceTemperature.setInt(material, temperature);
        } catch (IllegalAccessException | NoSuchFieldException e) {
            GALog.logger.error("setBlastFurnaceTemperature doesnt seems to works", e);
        }
    }

    public static void removeFlags(Material material, long flags) {
        if (!material.hasFlag(flags)) {
            return;
        }
        try {
            Field materialGenerationFlags = ObfuscationReflectionHelper.findField(Material.class, "materialGenerationFlags");
            materialGenerationFlags.setLong(material, materialGenerationFlags.getLong(material) ^ flags);
        } catch (IllegalAccessException e) {
            GALog.logger.error("Remove flags doesnt seems to works", e);
        }
    }

}
